不能保证完全恢复

一、安装恢复工具

1
2
3
4
5
6
7
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure
make && make install

extundelete --version

二、删除数据查找

查看文件系统

1
2
3
4
5
6
7
8
df -h # 结果
文件系统        容量  已用  可用 已用% 挂载点
/dev/vda1        40G   17G   21G   46% /
devtmpfs        911M     0  911M    0% /dev
tmpfs           920M     0  920M    0% /dev/shm
tmpfs           920M  364K  920M    1% /run
tmpfs           920M     0  920M    0% /sys/fs/cgroup
tmpfs           184M     0  184M    0% /run/user/1001

先从根分区 inode 查找 extundelete /dev/vda1 --inode 2

比如继续进入root

1
$ extundelete /dev/vda1 --inode 2110043 # 2110043 是 inode number

根据需要找到自己最终删除数据的目录

我们可以看到标称的 Deleted,这些数据就是我们要进行恢复的数据

注意: 有时候恢复数据会报错

此时,多尝试几种恢复方式

–restore-inode ino[,ino,…],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。

–restore-file ‘path’,恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。

–restore-files ‘path’,恢复命令参数,表示将恢复在路径中已列出的所有文件。

–restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。

三、数据恢复

指定目录恢复,以当前分区为根分区进行路径设定,项目名进行掩盖

1
$ extundelete --restore-directory /home/wwww/xxx /dev/vda1

恢复全部数据可以使用命令

1
$ extundelete --restore-all /dev/vda1

根据inode恢复

1
$ extundelete  --restore-inode 2110043  /dev/vda1

其他命令自行查看帮助

1
$ extundelete --help