1. 程式人生 > >centos rm命令恢復刪除的文件

centos rm命令恢復刪除的文件

gpl 運行 就會 fsp ted 事情 好的 節點 沒有

Linux有時候執行了 rm -rf 等操作誤刪了文件絕對是一件可怕的事情,好在有一些解決的辦法可以臨時救急。這時我們就要用到一款叫做extundelete的工具了。

Linux下執行 rm 並不會真正刪除,而是將inode節點中的扇區刪除,同時釋放數據塊。在數據塊被系統重新分配前,這部分數據還是可以找回來的。

網上說在刪除文件後要立即unmount這個分區,這樣做其實是為了讓外界不再寫入,我們也可以設置為readonly模式代替。當然,如果為了不影響其它應用的運行,也可以不做unmount。

好的,現在就該神器extundelete上場了。以CentOS6.5為例,需要以下幾個步驟:

1、安裝依賴

安裝e2fsprogs,e2fsprogs(也叫做e2fs programs)是一個Ext2(及Ext3/4)文件系統工具集(Ext2 Filesystems Utilities[2]),它包含了諸如創建、修復、配置、調試ext2文件系統等的標準工具。
e2fsprogs是開放源代碼軟件,遵從GPLv2或LGPLv2。
命令 yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel

2、安裝extundelete

1 wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
2 tar jxvf extundelete-0.2.4.tar.bz2
3 cd extundelte-0.2.4
4 ./configure
5 make; make install

3、查找要恢復的驅動器名

1 df
2
3 Filesystem 1K-blocks Used Available Use% Mounted on
4 /dev/sda1 495844 64150 406094 14% /boot

3、運行恢復

默認恢復到當前目錄下的RECOVERED_FILES目錄中去
3.1、恢復單個文件
1 extundelete /dev/sdb1 --restore-file hosts

3.2、恢復一個目錄
1 extundelete /dev/sdb1 --restore-files test/

3.3、恢復整個分區

1 extundelete /dev/sdb1 –-restore-all
這個工具貌似支持EXT4文件系統,經過實際測試,restore-all比較好用,在初次刪除後可以很好的恢復文件及目錄結構,但是如果我在相同位置新建了相同的文件名或者目錄名,就會恢復失敗(找不到了)。而恢復單獨的文件或者目錄則沒有成功,如果有成功的可以告訴我。

centos rm命令恢復刪除的文件