您的位置:首页 > 运维架构 > Linux

恢复linux下误删除的文件

2013-08-09 10:34 295 查看
在使用linux的过程中,难免会误删除一些文件,可是怎样找回呢?

下面介绍一下ext3文件系统的数据恢复:

系统环境:Red Hat Enterprise Linux Server release 5

需要软件

e2fsprogs

ext3grep

测试

e2fsprogs这个软件系统自带,检查一下



如果没有在光盘中找,或到网上找

http://rpmfind.net/linux/RPM

http://rpm.pbone.net

这两个网站不错,几乎所有的包都能找到

下载安装ext3grep

#wget http://ext3grep.googlecode.com/files/ext3grep-0.7.0.tar.gz

#tar zxf ext3grep-0.7.0.tar.gz

#cd ext3grep-0.7.0

#./configure

#make && make install

#ext3grep

没错误的话就安装成功了

下面我们模拟一个环境(用真实的也可以)

#mkdir /termite

#cd /termite

#dd if=/dev/zero of=cc-disk count=1024000

#mkfs.ext3 cc-disk

#mount /termite/cc-disk /home

这样我们的环境就建好了,查看一下



现在往/home下写入些文件

#cd /home

#echo test1 > 1

#cp /etc/resolv.conf .

#mkdir -p cc/cc1/cc2

查看一下



然后删除这些文件和目录



现在开始恢复操作

首先umount掉分区

#umount /home

然后运行ext3grep

#ext3grep /termite/cc-disk --ls --inode 2

等待一会出现如图



看到刚才删除掉的文件了吧

现在恢复文件,见图



会自动在你执行ext3grep命令的当前位置下建立RESTORED_FILES目录,恢复的文件就在这里面



从图中可看到目录cc恢复的不正确,cc下面应该还有cc1的,可知--restore-file适用与恢复文件,可以用--restore-all尝试恢复所有文件:

#ext3grep /termite/cc-disk --restore-all

但是也不一定能完全恢复。我试过有时可以把目录恢复(包括子目录),但是其中的文件却找不到。

如果想详细的了解ext3grep,可以到它的的HOW TO页去看看:

http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: