環境: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文件(此步驟也可省略):