ext3 rm 之後的恢復

2010年04月17日 星期六 上午 10:14
注意:如果你只有系統只有一個/  你就準備掛吧,不用恢復了。

參考一 http://blog.s135.com/linux_ext3_undelete/
參考二 http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
參考三 http://blog.chinaunix.net/u/30312/showart.php?id=1814218 

環境:CentOS 5.3 x86_64下,/dev/sdb1爲數據分區/data0,EXT3文件系統。
前因:誤刪了/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件。由於忘了備份httpcws.cpp文件,重新開發工作量較大,因此只有恢復該文件一條路可走。

debugfs命令針對EXT2分區還行,但對EXT3分區就幫不上忙了。偶然發現的一款開源軟件,解決了我的大忙。該軟件下載網址爲:
http://code.google.com/p/ext3grep/

1、先安裝ext3grep軟件:
wget http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz
tar zxvf ext3grep-0.10.1.tar.gz
cd ext3grep-0.10.1
./configure
make
make install


2、umount /data0分區:
umount /data0

如果提示busy,先kill正在使用這個目錄的進程,再umount:
fuser -k /data0
umount /data0


3、查詢所有Inode,(執行需要幾分鐘~十多分鐘):
ext3grep /dev/sdb1 --ls --inode 2

點擊在新窗口中瀏覽此圖片

4、逐級查找Inode,看是否能找到httpcws.cpp文件(此步驟也可省略):

點擊在新窗口中瀏覽此圖片

點擊在新窗口中瀏覽此圖片

5、恢復/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件:
ext3grep /dev/sdb1 --restore-file tcsql/cankao/phpcws-1.5.0/httpcws.cpp

點擊在新窗口中瀏覽此圖片

如果提示以下信息,則表示恢復成功:
Restoring tcsql/cankao/phpcws-1.5.0/httpcws.cpp

這時,執行ext3grep命令的當前目錄下將會自動生成一個名爲RESTORED_FILES的文件夾,文件夾下的tcsql/cankao/phpcws-1.5.0/httpcws.cpp即爲恢復的文件。查看了一下,和被刪除前的內容一樣,大功告成。


6、重新mount /data0分區:
mount /dev/sdb1 /data0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章