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. ABBYY Cup 3.0G3. Good Substrings

    题意:定义一个串合法,在n个串中出现次数在li到ri中.问s的所有本质的子串有是多少合法的 题解:把所有串用分隔符分开建sam,记录一个该节点对应每个串的出现次数,topo排序后,当该节点s出现次数不 ...

  2. RMAN 的优缺点及RMAN 备份及恢复步骤

    一. RMAN 备份的一些优点和OS命令备份方式相比,使用RMAN的优点 1  备份执行期间不需要人工干预,因此减少了误操作的机会:2  可以有效的将备份和恢复结合起来:3  支持除逻辑备份以外的所有 ...

  3. Win10系列:C#应用控件进阶2

    矩形 若要绘制矩形需要用到Rectangle元素,通过指定Rectangle元素的Width和Height属性值来确定矩形的尺寸.而设置RadiusX和RadiusY属性值能得到圆角的矩形,这两个属性 ...

  4. learning makefile static model

  5. 如何发布自己的node模块

    一.注册自己的npm账户 在 npm 官网 https://www.npmjs.org 申请一个账号,并且进行必要的验证,需要填写用户名.密码和邮箱.并且注册成功后会向邮箱发一封邮件,需要进行验证. ...

  6. 笨办法29IF语句

    people = 20 cats = 30 dogs = 15 if people < cats: print "Too many cats! The world is doomed! ...

  7. springCloud配置本地配中心SpringCloudConfig

    多环境配置 在一般开发过程中如果调试都在本地进行,则可以设置一个多环境配置,在本地与线上配置间来回切换. springcloud默认会访问的配置文件名是application.properties, ...

  8. 分数化小数(decimal)

    分数化小数 ①我的程序 #include<iostream>using namespace std;int main(void){ int a,b,c,kase=0; while(scan ...

  9. 【IDEA&&Eclipse】1、为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者

    圣战 有一些没有唯一正确答案的“永恒”的问题,例如哪个更好:是Windows还是Linux,Java还是C#:谁更强壮:Chuck Norris还是Van Damme. 其中的一个圣战便是Java I ...

  10. ceph存储集群测试方案

    --测试目的 测试ceph集群的读写性能,根据测试数据了解整个ceph集群的性能情况. --测试环境 1.8节点ceph集群环境,1台虚拟机(cpu 8核,内存8G),8k的块大小,时长2小时 2.8 ...