技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Linux --> 实例:Linux EXT3文件系统下成功恢复误删的文件

实例:Linux EXT3文件系统下成功恢复误删的文件

浏览:2745次  出处信息

  环境: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

  参考资料:http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html

建议继续学习:

  1. 利用binlog来恢复数据库    (阅读:4136)
  2. 这样恢复 Linux 分区下误删的文件    (阅读:4134)
  3. Oracle数据恢复专题    (阅读:3938)
  4. 恢复删除的数据表,数据库    (阅读:3894)
  5. Mysql .frm损坏后如何恢复    (阅读:3514)
  6. Oracle数据恢复 - Linux / Unix 误删除的文件恢复    (阅读:3512)
  7. MySQL数据库InnoDB数据恢复工具使用总结    (阅读:3266)
  8. linux上ext2文件系统中,用debugfs来恢复被删除的文件    (阅读:2911)
  9. Oracle数据恢复:格式化,Raid损坏,文件覆盖恢复    (阅读:2531)
  10. Oracle9i中如何恢复误删除数据?    (阅读:2489)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1