wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
执行如下命令,安装tundelete的相关依赖和库:
yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make
执行如下命令,解压extundelete到当前目录下。
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
执行如下命令,检测系统配置,并生成makefile:
./configure
执行如下命令,编译安装extundelete软件:
make && make install
完成后,通过运行结果可以看到默认文件是安装到usr/locla/bin的路径下。
执行如下命令,进入新增src目录,并查看extundelete可执行文件。
cd src
ls
至此,完成extundelete工具的全部安装部署。
现在模拟数据删除
执行如下命令,查看分配的数据盘 /dev/vdb:
fdisk -l
执行如下命令,对数据盘进行分区:
fdisk /dev/vdb
Command(m for help)输入 n;
Command action 输入p;
Partition number(1-4,default 1)输入1;
First cylinder 和 Last cylinder 处直接输入 回车,使用默认的配置;
Command(m for help)输入 w,从而使上面的配置生效。
执行如下命令,对数据盘进行格式化:
mkfs.ext3 /dev/vdb1
通过如下步骤,创建文件路径,并挂载磁盘,以及新建实验数据:
执行如下命令,创建文件路径:
mkdir /alidata
执行如下命令,新建一个文件“hello.txt”,写入“Hello Aliyun”信息,并查看数据:
echo "Hello Aliyun">/alidata/hello.txt
执行如下命令,生成hello.txt文件的md5值。主要用于下一小节恢复文件时,进行校验。
md5sum hello.txt
执行如下命令,进入/alidata 路径下,并删除hello.txt文件:
cd /alidata
rm -rf hello.txt
在真实的工作环境中,若已确认没有资源占用,可跳过此步骤。
fuser -k /alidata 会断开xshell
执行如下命令,卸载数据盘
umount /dev/vdb1
执行如下命令,使用extundelete工具,对整个 /dev/vdb1 分区进行搜索,并查看hello.txt的 Inode number 和 Delete status。
extundelete --inode 2 /dev/vdb1
说明:--inode参数值设为 2 ,是对整个分区进行搜索。如果需要进入目录搜索,只需要制定目录 I 节点即可。
执行如下命令,使用extundelete工具,恢复删除文件:
extundelete --restore-inode 12 /dev/vdb1
说明:通过上一步,我们可以看到 hello.txt 的节点值为 12 。--restore-inode 参数值是需要恢复的文件 Inode number
执行如下命令,可以查看到当前目录下,新增一个 RECOVERED_FILES 文件夹,并查看到文件 file.12。
执行如下命令,查看恢复的文件md5值,判断是否恢复原有的文件:
执行如下命令,安装tundelete的相关依赖和库:
yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make
执行如下命令,解压extundelete到当前目录下。
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
执行如下命令,检测系统配置,并生成makefile:
./configure
执行如下命令,编译安装extundelete软件:
make && make install
完成后,通过运行结果可以看到默认文件是安装到usr/locla/bin的路径下。
执行如下命令,进入新增src目录,并查看extundelete可执行文件。
cd src
ls
至此,完成extundelete工具的全部安装部署。
现在模拟数据删除
执行如下命令,查看分配的数据盘 /dev/vdb:
fdisk -l
执行如下命令,对数据盘进行分区:
fdisk /dev/vdb
Command(m for help)输入 n;
Command action 输入p;
Partition number(1-4,default 1)输入1;
First cylinder 和 Last cylinder 处直接输入 回车,使用默认的配置;
Command(m for help)输入 w,从而使上面的配置生效。
执行如下命令,对数据盘进行格式化:
mkfs.ext3 /dev/vdb1
通过如下步骤,创建文件路径,并挂载磁盘,以及新建实验数据:
执行如下命令,创建文件路径:
mkdir /alidata
执行如下命令,新建一个文件“hello.txt”,写入“Hello Aliyun”信息,并查看数据:
echo "Hello Aliyun">/alidata/hello.txt
执行如下命令,生成hello.txt文件的md5值。主要用于下一小节恢复文件时,进行校验。
md5sum hello.txt
执行如下命令,进入/alidata 路径下,并删除hello.txt文件:
cd /alidata
rm -rf hello.txt
在真实的工作环境中,若已确认没有资源占用,可跳过此步骤。
fuser -k /alidata 会断开xshell
执行如下命令,卸载数据盘
umount /dev/vdb1
执行如下命令,使用extundelete工具,对整个 /dev/vdb1 分区进行搜索,并查看hello.txt的 Inode number 和 Delete status。
extundelete --inode 2 /dev/vdb1
说明:--inode参数值设为 2 ,是对整个分区进行搜索。如果需要进入目录搜索,只需要制定目录 I 节点即可。
执行如下命令,使用extundelete工具,恢复删除文件:
extundelete --restore-inode 12 /dev/vdb1
说明:通过上一步,我们可以看到 hello.txt 的节点值为 12 。--restore-inode 参数值是需要恢复的文件 Inode number
执行如下命令,可以查看到当前目录下,新增一个 RECOVERED_FILES 文件夹,并查看到文件 file.12。
执行如下命令,查看恢复的文件md5值,判断是否恢复原有的文件:
参照
rm -rf bin/ 这是模拟删除
umount alidata/ 卸载此分区
ls -id alidata/ 查看inode码
extundelete /dev/vdb1 --restore-inode 52429 通过inode节点恢复
extundelete /dev/vdb1 --restore-all 恢复所有文件