环境:Centos7.6_x86
一、extundelete工具
1、extundelete介绍
Extundelete 是一个数据恢复工具,用于从 ext3 或 ext4 分区中恢复删除文件。根据官网0.2.4版本介绍是支持ext4,但实际上使用发现ext4格式不行,会报以下错误:
报错1:
报错2:
2、下载extundelete
官网下载链接:Download extundelete (sourceforge.net)
百度网盘下载链接: https://pan.baidu.com/s/1NmEsvXY8xh1yCr_Id7jqfQ?pwd=hi7a 提取码: hi7a
3、安装extundelete
[root@hadoop02 local]# tar -jxf extundelete-0.2.4.tar.bz2
[root@hadoop02 local]# cd extundelete-0.2.4
[root@hadoop02 extundelete-0.2.4]# yum install gcc gcc-c++ e2fsprogs e2fsprogs-devel e2fsprogs-libs
[root@hadoop02 extundelete-0.2.4]# bash install.sh
[root@hadoop02 extundelete-0.2.4]# make && make install
#查看extundelete版本
[root@hadoop02 extundelete-0.2.4]# extundelete --version
4、准备数据文件
5、删除数据
6、数据恢复
1)取消挂载磁盘
当发生数据误删情况下,应立马取消挂载磁盘,这是非常重要的,然后再去安装数据恢复工具。因为新数据的写入可能会覆盖需要恢复的文件,当删除数据时,会删除inode元数据信息,实际的数据块并不会删除,没有inode的数据块就会新写入数据覆盖掉。
有一种现象,如果你的磁盘空间不足,删除文件后发现系统并未释放,因为文件在删除时,正被其他进程一直打开状态或者写入数据,inode是一直存在的,系统就不会释放。
2)查看可恢复数据
#显示/dev/sdb1分区信息,2是根的inode号
[root@hadoop02 ~]# extundelete /dev/sdb1 --inode 2
3)方式一:根据inode号恢复数据
[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-inode indo号
#文件名并不是以前的名字
4)方式二:根据文件名恢复数据
[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-file 文件名
#文件名是以前的名字
5)方式三:恢复文件目录
[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-directory 目录名
6)方式四:恢复所有文件
[root@hadoop02 ~]# extundelete /dev/sdb1 --restore-all
7)总结
1、extundelete在Centos7.6并不会自动创建空目录和空文件
2、共4种方法,其中根据inode号恢复的文件不会跟之前的名字保持一致,其他3种可以
3、会在当前目录下生成RECOVERED_FILES目录
二、ext4magic工具
待补充