环境: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
相关文章
- linux下rm误删除数据库文件的恢复方法
- Linux ext3文件系统中通过debugfs恢复rm掉的文件
- 实例:Linux EXT3文件系统下成功恢复误删的文件
- Linux下用rm误删除文件的三种恢复方法
- Linux下用rm误删除文件的三种恢复方法
- 【服务器数据恢复】linux ext3文件系统执行FSCK后无法挂载的数据恢复案例
- linux下恢复存在 inode的引用的误删除文件
- Linux下误删文件的恢复
- 使用extundelete恢复linux ext3 ext4文件系统下由 rm -rf 误删除文件
- 在windos下挂ext3/ext4文件系统的硬盘,如何编程实现从该盘中拷贝满足条件的文件?DiskInternals的 Linux Reader 工具能行吗?