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. 一个简单CI/CD流程的思考

    因为公司有两地研发团队,在统一CI/CD上难度不亚于两家公司合并后的新流程建立,并非不可攻克,简单描述下心得. 首先,代码管理使用gerrit -> 因其强大的 codereview 功能被选中 ...

  2. 构建工具build tools

    构建工具是从源代码自动创建可执行应用程序的程序(例如.apk for android app).构建包括将代码编译,链接和打包成可用或可执行的形式. 基本上,构建自动化是脚本或自动化软件开发人员在日常 ...

  3. linux 程序无缘无故推出 没有core文件 broken pipe Resource temporarily unavailable

    问题 1. linux socket 服务端程序 无缘无故退出 . 2. 客户端大量访问服务端后,出现  Resource temporarily unavailable错误 问题分析: 1. 是否有 ...

  4. linux快捷键 常用快捷键

    常用的快捷键 'ctrl+c' 强制终止当前命令 'ctrl+l' 清屏 'ctrl+a' 光标移动到命令行首 'ctrl+e' 光标移动到命令行尾 'ctrl+u' 从光标所在的位置删除到行首 'c ...

  5. python全栈开发笔记---------字符串格式化

    字符串格式化 %s 可以接收任何值, %d只能接收整形 .其他类型报错 msg ='i am %s my body' %'ales' print(msg) #i am ales my body msg ...

  6. Forth 输入流处理

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  7. redis-sentinel主从复制高可用

    Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端 ...

  8. Linux常用内核参数

    Linux常用内核参数 TCP状态描述 CLOSED:无连接是活动的或正在进行的 LISTEN:服务器在等待进入呼叫 SYN-RECV:一个连接请求已经到达,等待确认 SYN-SENT:应用已经开始, ...

  9. 用setTimeout模拟setInterval的功能

    偶然看到这个题目,稍微写了下,做个笔记,不足之处请指正 //用setTimeout模仿setInterval var MyInterVal = function(fun,tm){ if(this == ...

  10. bootstrap之编译CSS和Javascript-0基础安装grunt教程

    昨天晚上看到 bootstrap 全局CSS样式中 使用Less 章节中提到的通过grunt重新编译CSS和Javascript文件,对于我这样从未接触过windows cmd node控制台 npm ...