环境:CentOS 5.3 X86_64操作系统
示例分区:/dev/sdb1挂载在/data分区上
示例情景:在/data的根目录有个test目录,目录下有两个子目录和两个文件,子目录下还有文件,我删除test目录下的所有文件然后恢复,结论是文件可以成功恢复但是不能直接恢复目录,只能单独的恢复目录下文件(目录结构在)
1. 查看文件系统是不是ext3文件系统
[root@MFS-chunkserver-2 ]# parted /dev/sdb1
2. 查看分区信息
[root@MFS-chunkserver-2 ]# df –lh
3. 查看目录结构
[root@MFS-chunkserver-2 ]# cd /data/test/
[root@MFS-chunkserver-2 ]# tree
4. 删除/data/test下的所有文件和目录
[root@MFS-chunkserver-2 ]# rm -rf *
[root@MFS-chunkserver-2 ]# ls
[root@MFS-chunkserver-2 ]#
5. 开始安装恢复工具
[root@MFS-chunkserver-2 ]#tar zxvf ext3grep-0.10.1.tar.gz
[root@MFS-chunkserver-2 ]#cd ext3grep-0.10.1
[root@MFS-chunkserver-2 ]#./configure
[root@MFS-chunkserver-2 ]#make
[root@MFS-chunkserver-2 ]#make install
6. 卸载分区
[root@MFS-chunkserver-2 ]# cd /
[root@MFS-chunkserver-2 ]# umount /data/
7 进入到/data目录查看inode信息
[root@MFS-chunkserver-2 ]# cd /data/
[root@MFS-chunkserver-2 ]# ext3grep /dev/sdb1 --ls --inode 2(可以看见最后面已经找到了test目录)
8. 记录test目录的inode信息,然后继续查找test目录下的目录和文件inode信息
[root@MFS-chunkserver-2 ]# ext3grep /dev/sdb1 --ls --inode 131081(此处是inode)
9. 可以看到已经找到了被删除的a和b目录,记录下inode信息开始恢复目录
[root@MFS-chunkserver-2 ]# ext3grep /dev/sdb1 --restore-inode 131082(a目录)