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 |