系统环境:centos 7
一、安装extundelete的N种方法(任选其一)
1.直接安装法
yum -y install epel-release #安装epel第三方源 yum -y install extundelete
然后就安装成功了,试一下命令:
extundelete -v #回显如下: extundelete version 0.2.4 libext2fs version 1.42.13 Processor is little endian
2.编译安装方法
yum -y install wget wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2 yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make tar -xvjf extundelete-0.2.4.tar.bz2 cd extundelete-0.2.4 ./configure make && make install
一样,试一下 extundelete -v 命令,有回显表示安装成功。
二、恢复文件
如图,在我服务器的 /root目录下有 wkmdoubi 这个文件夹,文件夹内有 wkmdoubi.sh和 wkmdoubi.log 这两个文件
直接删除掉 wkmdoubi 这个文件夹。
好了接下来演示如何恢复 wkmdoubi.sh 和 wkmdoubi.log 这两个文件
1.查看我们主分区挂载的路径:
df -lh
如图, /dev/vda1是主分区路径
2.找到被删除的文件:
extundelete /dev/vda1 --inode 2
有提示按Y即可。
如图我们看到root目录的编号为 131073:
接下来进入 root目录:
extundelete /dev/vda1 --inode 131073
如图我们看到了wkmdoubi这个文件夹,编号是262913,状态是Deleted
3.恢复文件/文件夹
extundelete /dev/vda1 --restore-directory /root/wkmdoubi/
后面的路径就是原来被删掉文件的路径。
过一会儿就会完成恢复文件。因为磁盘数据一直在读写,所以有些文件之前的 inode 已经被重新分配了,导致部分数据无法恢复,数据最后会告诉我们有多少文件没有恢复,但是大部分数据还是可以恢复的。
完成后会在当前目录生成一个目录 RECOVERED_FILES 里面就是我们恢复的数据。如图,这两个文件已经成功恢复回来了
4.其他
要恢复全部文件可以使用如下命令:
extundelete /dev/sda5 --restore-all
命令参考如下: extundelete –help
其中,参数(options)有: --version, -[vV],显示软件版本号。 --help,显示软件帮助信息。 --superblock,显示超级块信息。 --journal,显示日志信息。 --after dtime,时间参数,表示在某段时间之后被删的文件或目录。 --before dtime,时间参数,表示在某段时间之前被删的文件或目录。 动作(action)有: --inode ino,显示节点“ino”的信息。 --block blk,显示数据块“blk”的信息。 --restore-inode ino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。 --restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。 --restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。 --restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。 -j journal,表示从已经命名的文件中读取扩展日志。 -b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件。 -B blocksize,通过指定数据块大小来打开文件系统,一般用于查看已经知道大小的文件。