【Linux|数据恢复】extundelete和ext4magic数据恢复工具使用

环境: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/14bkmSiIcqab2MW0ng6a7ew?pwd=ub59 提取码: ub59

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号

#文件名并不是以前的名字,以file.inode号命名

(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工具

1、ext4magic介绍

        用于从ext3或ext4分区中恢复文件数据工具,基于ext3grep和extundelete。

版本区别:

0.2.4(Beta版本)包含老的magic-function,仅支持ext3系统

0.3.2(Beta版本)包含新的magic-function,支持ext3、ext4版本

经测试,0.3.1版本只支持ext3格式,不支持ext4。

2、ext4magic下载

官网链接:ext4magic - Browse Files at SourceForge.net

0.3.2版本:

百度网盘链接: https://pan.baidu.com/s/13mGJlXNYNv9N3GR2TnrSKQ?pwd=pt81 提取码: pt81

无外网情况下,依赖包已整理好:链接: https://pan.baidu.com/s/1ShcwGhHWUS_nlpqSBCNVTA?pwd=6wfe 提取码: 6wfe

0.3.1版本的rpm包,仅支持ext3格式:

链接: https://pan.baidu.com/s/1OP5v_FbvuZ9k2QMdWJFy0Q?pwd=vhrj 提取码: vhrj

3、源码安装ext4magic

[root@hadoop02 local]# tar -xzvf ext4magic-0.3.2.tar.gz
[root@hadoop02 local]# cd ext4magic-0.3.2
[root@hadoop02 ext4magic-0.3.2]# yum install gcc gcc-c++ e2fsprogs-devel libuuid-devel libblkid-devel zlib-devel bzip2-devel file-libs file-devel
[root@hadoop02 ext4magic-0.3.2]# ./configure
[root@hadoop02 ext4magic-0.3.2]# make & make install
#创建软连接
[root@hadoop02 ext4magic-0.3.2]# ln -s /usr/local/ext4magic-0.3.2/src/ext4magic /usr/sbin/ext4magic
#查看版本
[root@hadoop02 ~]# ext4magic -V -X
ext4magic  version : 0.3.2
libext2fs version : 1.42.9
CPU is little endian.

4、准备数据文件

5、删除数据

6、数据恢复

(1)取消挂载磁盘

        当发生数据误删情况下,应立马取消挂载磁盘,这是非常重要的,然后再去安装数据恢复工具

(2)查看可恢复数据

#方式1
[root@hadoop02 ~]# ext4magic /dev/sdb1 -f /
#方式2
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2
#查看详细信息加上 -T -x
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I 2 -T -x

(3)常用恢复数据的参数

-r和-m      #两个参数一样效果,只恢复删掉的文件,空文件也会被恢复。情况一:如果删掉的目录,该目录包含文件,会自动创建目录以及恢复文件;情况二:如果删掉的文件,该文件在目录里面,不会恢复该文件;

-R和-M     #两个参数一样效果,恢复整个磁盘的所有文件以及目录,包括空的文件和目录,和没有删掉的目录及文件;

-I        #指定inode号恢复

-f        #指定某个文件或目录

-     #指定数据存放路径

-a        #指定时间戳

(4)方式一:根据inode号恢复文件和目录

#恢复文件,文件名会以inode号命名,可加上-d 指定存放路径,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode号 -r
#恢复目录,目录会以inode号命名,包括未删除的文件,可加上-d 指定存放路径,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -I inode号 -R

#恢复文件

#恢复目录

(5)方式二:根据文件名和目录名恢复数据

#恢复文件到/root/data目录下,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -r -f 文件名 -d /root/data
#恢复目录到/root/data目录下,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -f 目录名 -d /root/data

(6)方式三:恢复整个磁盘数据(全量恢复) 

#恢复磁盘所有数据到/root/data目录下,包含未删掉的文件,默认恢复前24小时内的文件
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -d /root/data
#-M与-R效果一样
[root@hadoop02 ~]# ext4magic /dev/sdb1 -M -d /root/data

(7)方式四:基于时间搓恢复

#恢复前四天的磁盘的全部数据到/root/data目录,-R可换成-M,如果换成-r或-m,只能恢复文件,并且删除的文件在多级目录里的文件不会恢复,时间可换成具体的时间戳值
[root@hadoop02 ~]# ext4magic /dev/sdb1 -R -a $(date -d "-5day" +%s) -d /root/data/

(8)其他

不支持硬链接,支持软连接 

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值