Extundelete基础

Extundelete介绍

extundelete是基于Linux的一个数据恢复工具,它通过分析文件系统的日志,解析出所有文件的inode信息,从而可以恢复Linux下主流的ext3,ext4文件系统下被误删除的文件。

Extundelete安装

安装Development Tools

1
$ yum groupinstall "Development Tools" -y

安装依赖包

1
$ yum install e2fsprogs-devel.x86_64 -y

下载extundelete

1
$ wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

安装extundelete

1
2
3
4
5
$ tar jxf extundelete-0.2.4.tar.bz2
$ cd extundelete-0.2.4
$ ./configure
$ make
$ make install

验证安装

1
$ extundelete --help

extundelete用法

命令格式

1
extundelete [option] [action] device-file

[option]参数

– 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’,恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RESTORED_FILES目录中 – restore-files ‘path’,恢复命令参数,表示将恢复在路径中已列出的所有文件 – restore-all,恢复命令参数,表示将尝试恢复所有目录和文件 - j journal,表示从已经命名的文件中读取扩展日志 - b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件 - B blocksize,通过制定数据块大小来打开文件系统,一般用于查看已经知道大小的文件

extundelete实战

查询可恢复的数据信息

1
$ extundelete /dev/sdb1 --inode 2

恢复单个文件

1
$ extundelete /dev/sdb1 --restore-file passwd

恢复单个目录

1
$ extundelete /dev/sdb1 --restore-directory network-scripts

恢复所有删除数据

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

恢复某个时间段数据

1
2
3
$ date +%s
1449027652
$ extundelete --after 1449020452 --restore-all /dev/sdb1

在上面的例子中恢复的是两个小时之内被删除的文件。

在这个操作过程中,需要注意的是“–after”参数后面跟的时间是个总秒数。起算时间是“1970-01-01 00:00:00 UTC”,通过”date +%s”命令即可将当前时间转换为总秒数,因为恢复的是两个小时之内的数据,所以“1449020452”这个值就是通过“1449027652”减去“60602=7200”获得的。

坚持原创技术分享,您的支持将鼓励我继续创作!
0%