1.extundelete的恢复原理

extundelete恢复文件时并不依赖特定文件格式,首先extundelete会通过文件系统的inode信息,来获得当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块,间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。

2.extundelete的安装

环境:redhat6.5

extundelete官方地址:https://sourceforge.net/projects/extundelete/

安装依赖包

[root@server1 ~]# yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel -y

解压官方网站下载的安装包,最新版本是extundelete-0.2.4

[root@server1 ~]# ls
a.png extundelete-0.2. extundelete-0.2..tar.bz2 getrandom.sh test.rrd
[root@server1 ~]# cd extundelete-0.2.
[root@server1 extundelete-0.2.]# ./configure
[root@server1 extundelete-0.2.4]# make
[root@server1 extundelete-0.2.4]# make install
[root@server1 extundelete-0.2.4]# which extundelete
/usr/local/bin/extundelete

安装过程很简单。

3.extundelete的使用

3.1:我们的操作环境如下:   

[root@server1 ~]# mount /dev/vdb1 /test/
[root@server1 ~]# cp /etc/passwd /test/
[root@server1 ~]# cp -r /etc/yum /test/
[root@server1 ~]# mkdir /test/dirtest
[root@server1 ~]# echo hello > /test/dirtest/test.file
[root@server1 ~]# md5sum /test/passwd
499b16cbdef03e814f3405fccd188dcc /test/passwd
[root@server1 ~]# md5sum /test/dirtest/test.file
b1946ac92492d2347c6235b4d2611184 /test/dirtest/test.file
[root@server1 test]# rm -rf *

3.2:删除数据之后,首先卸载这块磁盘分区,以防止磁盘重新读写。

[root@server1 test]# cd /mnt/
[root@server1 mnt]# umount /test/

3.3:extundelete恢复的一些操作

3.3.1:查询可恢复数据信息。

[root@server1 mnt]# extundelete /dev/vdb1 --inode
......
File name | Inode number | Deleted status
.
..
lost+found Deleted
passwd Deleted
yum Deleted
dirtest Deleted

3.3.2:恢复单个文件。

[root@server1 mnt]# extundelete /dev/vdb1 --restore-file passwd
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... groups loaded.
Loading journal descriptors ... descriptors loaded.
Successfully restored file passwd

恢复成功后会在当前目录下创建RECOVERED_FILES用于存放恢复的文件:通过md5校验,说明我们的数据恢复成功。

恢复单个目录:

[root@server1 mnt]# extundelete /dev/vdb1 --restore-diretory /yum

恢复所有文件

[root@server1 mnt]# extundelete /dev/vdb1 --restore-all

恢复某个时间段的数据:

extundelete提供了--after 和 --before 参数可以指定恢复某个时间段内的数据。

[root@server1 mnt]# extundelete --after   /dev/vdb1 --restore-all

更多的操作可以使用 extundelete --help 来查看。

数据恢复工具--extundelete的安装与使用的更多相关文章

  1. Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

    1.下载extundelete包,安装依赖 我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel. yum ...

  2. Ext分区文件恢复工具extundelete

     Ext分区文件恢复工具extundelete Ext是延伸文件系统(Extended system)的缩写.它是为Linux内核开发的第一个文件系统.它有多个版本.现在常见的是Ext3和Ext4.由 ...

  3. 11款最棒的Linux数据恢复工具

    无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据.因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据.不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会 ...

  4. Linux下常用的数据恢复工具

    一.数据删除 命令:rm -rf,将任何数据直接从硬盘删除,且没有任何提示 建议做法: 把命令参数放到后面:rm -rfi 将删除的东西通过mv命令移动到系统下的/temp目录下,然后写个脚 本定期执 ...

  5. php通用安装程序,导入数据文件(.sql)的安装程序

    php通用安装程序,导入数据文件(.sql)的安装程序 该程序只需要1个php文件 和 1个数据文件,很方便调用.install/index.php         程序文件install/mycms ...

  6. 数据可视化工具zeppelin安装

    介绍 zeppelin主要有以下功能 数据提取 数据发现 数据分析 数据可视化 目前版本(0.5-0.6)之前支持的数据搜索引擎有如下 安装 环境 centOS 6.6 编译准备工作 sudo yum ...

  7. 【优秀的iPhone/iPad数据恢复工具】Omni Recover for Mac 2.5

    [简介] 今天和大家分享最新的 Omni Recover for Mac 2.5 版本,这是一款Mac上优秀的iPhone/iPad设备数据恢复工具,支持恢复误删除的短信.照片.视频.文档.通话记录等 ...

  8. 数据恢复工具PhotoRec

    数据恢复工具PhotoRec PhotoRec是一款文件恢复工具.它可以从硬盘.光驱.记忆卡中恢复视频.文档.压缩包等文件.该工具绕开文件系统,采用文件特征码机制,直接进行底层数据扫描,尝试恢复文件. ...

  9. 大数据(9) - Flume的安装与使用

    Flume简介 --(实时抽取数据的工具) 1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集.聚集.移动的服务,Flume只能在Unix环境下运行. 2) Flume基于流式架构 ...

随机推荐

  1. day037 mysql之单表查询

    一.单表查询语法 select distinct 字段1,字段2,... from 库名.表名 where 条件 group by 字段 having 筛选条件 order by 字段 limit 限 ...

  2. Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;

    使用TreeSet保存自定义对象时, 必须让定义对象的类实现Comparable接口,并重写compareTo()方法 否则报 实体类User:cannot be cast to java.lang. ...

  3. Oracle数据库联机重定义讲解及错误处理

    1.1. 关键字:联机重定义/SYNC_INTERIM_TABLE/GATHER_TABLE_STATS 1.2. 需求:数据表的清理机制需要优化 离线消息表采用delete的方式定期对过期的数据进行 ...

  4. 佛祖保佑永无BUG代码注释

    // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| ...

  5. inline元素、block元素、inline-block元素

    inline 内联元素:是不可以控制宽和高.margin等:并且在同一行显示,不换行,直到该行排满. block 块级元素:是可以控制宽和高.margin等,并且会换行.块级对象元素会单独占一行显示, ...

  6. Python第一发:Hello world

     #!/usr/bin/python def main () : print 'hello world' main ()

  7. python的出生

    1.语言的种类 机器语言------>汇编语言------>高级语言 高级语言按转换方式分为两类: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器 ...

  8. node有哪些坑?

    const server = http.createServer((req, res) => {} const server = http.createServer((res, req) =&g ...

  9. python if __name__=='__main__'的理解

    定义一个模块叫module.py: def main(): print "we are in %s" %__name__ if __name__=='__main__': main ...

  10. Python之路,Day9 - 异步IO\数据库\队列\缓存

    https://www.cnblogs.com/alex3714/articles/5248247.html http://www.cnblogs.com/wupeiqi/articles/51327 ...