数据恢复软件Extundelete介绍

一、概述

作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何快速、有效地恢复数据呢?

1.1、如何使用rm –rf命令

在Linux系统下,通过 rm –rf 可以将如何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站的功能,也就意味着,数据在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重,在使用rm命令的的时候,比较稳妥的方法就是命令参数放到后面,这样有一个提醒作用,
  那么在企业当中其实保证数据最安全的方法就是做好备份,虽然备份不是万能的,但是没有备份时万万不行的,任何数据工具都有一定的局限性,都不能保证完整的恢复出所有的数据,因此,把备份作为核心,把数据恢复工具作用辅助是运维必须坚持的一种准则。

1.2、extundelete和ext3grep的异同

在Linux 下,基于开源的数据恢复工具有很多,常见的有debugfs,R-Linux,ext3grep,
extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复基本一样,只是exturndelete功能更加强大,
   exturndelete 是基于Linux的一个数据恢复工具,它通过分析文件系统的日志,解析出所有文件的inode的信息,从而可以恢复Linux下主流的ext3 ext4文件系统被下被误删除的文件,而ext3grep紧紧只能恢复ext3文件系统的恢复,在恢复速度上,extundelete要快很多,因为extundelete恢复机制是扫描inode和恢复数据同时进行,并且支持耽搁文件恢复,但各目录恢复、inode恢复、block恢复,完整磁盘恢复等,而ext3grep就略显不足了,它需要首先扫描完要恢复数据的所有inode信息,然后才开始恢复数据,所以在恢复速度上相对来说比较慢,并且在功能上也不支持目录恢复、时间恢复等等。。。

1.3、extundelete恢复的原理

在介绍使用extundelete 进行恢复数据之前,简单的介绍一下inode的知识,在Linux下可以通过”ls -id”命令查询某个文件或者目录的inode值,例如查看目录的inode值,可以输入: ls –id / 查看根目录的inode值
由此可知,根目录的inode值为2,在利用extundelete恢复文件时并不依赖特定文件格式,首先extundelete会通过文件系统的inode信息,来获得当前文件系统下的所有文件信息,包括存在和已经删除的文件,这些信息包括文件名和inode,然后利用inode信息结合去查询该inode所在的block的位置,包括直接块,间接块等信息,最后利用dd命令将这些信息备份出来,从而恢复数据文件。

1.4、安装extundelete

extundelete 官方地址为http://extundelete.sourceforge.net/ 其目前稳定版本是extundelete-0.2.4.tar.bz2 ,
在安装extundelelete之前需要安装e2fsprogs和e2fsprogs-libs两个一依赖包,
e2fsprogs和e2fsprogs-libs安装非常简单,

安装依赖包:
# yum -y install e2fsprogs e2fsprogs-libs e2fslibs-dev e2fslibs-dev e2fsprogs-devel
网上YUM或者官方默认YUM源头

# tar -xvf extundelete-0.2.4.tar.bz2
#cd   extundelete-0.2.4
# ./configure && make && make install
出现警告的,可以忽略。

1.5、extundelelte恢复单个文件

多增加一块硬盘/dev/sdb 分为为/dev/sdb1
# mkdir /datazeng
# mount /dev/sdb1 /datazeng
# vim /datazeng/1.txt
# cp /etc/passwd /datazeng
# cp –rf /boot/grub/ /datazeng/
# sync;sync;sync; 注意创建文件或者复制文件会首先在内存标记,sync时数据落地到磁盘,否则将恢复失败,
# rm /datazeng/* -rf  开始删除数据
# umount /dev/sdb1  在删除删除后,立即需要将这个分区卸载,
这一步很重要,并且在误删除文件后应尽快将磁盘挂载为只读。越早进行,恢复的成功机率就越大。

# extundelete /dev/sdb1 --inode 2  开始查询/dev/sdb1可恢复的数据

# extundelete /dev/sdb1 --restore-file passwd 开始恢复单个数据,
使用—resotre-file参数
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 64 groups loaded.
Loading journal descriptors ... 37 descriptors loaded.
Successfully restored file passwd

[root@master /]# ls RECOVERED_FILES/
passwd

extundelete恢复单个文件的参数是”—restore-file”,这里需要注意是的”—restore-file”后面指定的是恢复文件路径,这个路径是文件的相对路径,相对路径是相对于原来文件存储路径而言,比如:
原来的文件存储路径是/datazeng/passwd ,那么恢复的时候不需要加绝对路径。直接加相对路径即可
原来文件存储的路径是/datazeng/test/1.txt 那么恢复的时候直接在参数后面加test/1.txt 即可
在文件恢复成功后,extundelete命令默认在执行命令的目录下创建一个RECOVERED_FILES的目录,此目录用于存放恢复的文件,所以执行extundelete命令当前目录必须是可写的。

1.6、extundelelte恢复单个目录

[root@master /]# extundelete /dev/sdb1 --restore-directory /grub
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 64 groups loaded.
Loading journal descriptors ... 65 descriptors loaded.
Searching for recoverable inodes in directory /grub ...
20 recoverable inodes found.
Looking through the directory structure for deleted files ...
5 recoverable inodes still lost.

[root@master /]# ls RECOVERED_FILES/
grub

1.7、extundelelte恢复所有误删除 数据

[root@master /]# extundelete /dev/sdb1 --restore-all
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 64 groups loaded.
Loading journal descriptors ... 65 descriptors loaded.
Searching for recoverable inodes in directory / ...
20 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.
[root@master /]# ls RECOVERED_FILES/
grub  passwd

1.8、extundelelte恢复某个时间的

after 恢复某时间之后的被删除的数据, before恢复某时间段之前被删除的数据
[root@master /]# date +%s
1409111629
# extundelete --before 1409111629 --restore-all /dev/sdb1

错误:小提示每次做测试了。有点人为了方便。在测试完成之后。在
mkfs.ext4 /dev/sdb1  在重新挂在。写入数据后,在删除,卸载。在测试。
如果一个分区被2次格式化后,在往里面填充数据将出现,自己手动建立的数据将不可恢复,
只能通过别的地方CP复制过来的数据才可以恢复,想要重新测试。请把虚拟机新增加的硬盘移除掉。在重新增加。进行分区。测试
  注意此软件还有很多BUG存在。特别对一些大文件恢复。还有很大缺陷。并且不能保证100%的恢复 ,所以只能救火使用

数据恢复软件Extundelete的更多相关文章

  1. Linux下数据恢复软件extundelete

    extundelete软件专门解决意外删除事件的,有时候不小心 rm -rf * 就可能毁掉有用的数据.因此就出现了这个恢复工具,但这个工具也不是万能的,删除数据后一定要停止所以的写操作.以免Inod ...

  2. Linux下高效数据恢复软件extundelete应用实战

    作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几 ...

  3. 数据恢复软件extundelete介绍

    linux下文件系统一般由文件名.Inode.Block三部分组成.当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的inode,看该用户是否具有访问这个文件的权限.如果有, ...

  4. 转:主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Undelete 360

    转自:Baidu 空间 2012-10-05 13:57 主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Und ...

  5. 数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据,解决图片恢复后打不开的问题

    数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据.解决图片恢复后打不开的问题. 用过非常多数据恢复软件.最早EasyRecovery pro.恢复过U盘.手机SD卡,硬盘数据.但如今下载不了最新版 ...

  6. Android Data Recovery for Mac(安卓数据恢复软件)破解版安装

    1.软件简介    Android Data Recovery 是 macOS 系统上一款 Android 设备数据恢复软件,能够帮助我们在 mac 电脑上对 Android 设备进行数据恢复,文档. ...

  7. [原创汉化] 价值990美元的顶级专业数据恢复软件O&O DiskRecovery 11(技术员版)汉化绿色版

    百度没搜索到11有汉化版的,有空就把它汉化了,大部分借鉴的是以前汉化版的词条.另外,顺便做了个二合一的单文件版给有需要的朋友. 运行环境: 可用于 Windows 2000/XP/2003/Vista ...

  8. Aiseesoft Data Recovery 1.1.6 专业数据恢复软件破解版

    Aiseesoft Data Recovery是专业的数据恢复软件,它可以帮助你恢复几乎所有删除/丢失的文件,如照片,文件,电子邮件,音频,视频且支持从计算机,硬盘驱动器,闪存驱动器,存储卡,数码相机 ...

  9. 黄聪:WIN7下回收站不小心删除的文件怎么恢复,免费数据恢复软件下载

    上网找了半天,大多数是收费的,总算找到一款免费的,已经帮我恢复了数据了,在此分享给大家. 注意:只能恢复7天内的,而且数据误删了,就尽量不要再修改你那个盘符的数据了,免得覆盖了! 我用的数据恢复软件R ...

随机推荐

  1. PHP的抽象类、接口类的区别和选择【转载】

    本文转自:http://blog.csdn.net/fanteathy/article/details/7309966 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关 ...

  2. make module失败的原因cc1: error: unrecognized command line option “-m64

    cc1: error: unrecognized command line option "-m64"cc1: error: unrecognized command line o ...

  3. 【servlet】客户端是否可以访问到WEB-INF下的jsp文件

    一般情况下(不考虑出现安全问题被入侵,那样啥都能访问到),WEB-INF下的jsp文件单凭浏览器端请求时访问不到的. 想访问的话需要通过服务端servlet的转发. 下面通过转发和重定向的尝试来观察访 ...

  4. 快学Scala-第八章 继承

    知识点: 1.扩展类 extends关键字,在定义中给出子类需要而超类没有的字段和方法,或者重写超类的方法. 2.重写方法 在Scala中重写一个非抽象方法必须 override 修饰符 public ...

  5. JS取非行间样式

    <title>无标题文档</title> <style> #div1{width:200px;height:200px; background:red;} < ...

  6. CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程

    0. 安装环境: CentOs版本:      VMWare中CentOs 6.4 Apache版本:      Httpd 2.2.15 http://httpd.apache.org/ Sqlit ...

  7. myEclipse JSP 调用 IDL8.2 配置

    新安装了Envi5.0 IDL8.2,路径改动了,一些配置也要随之改动.现在总结一下,JSP调用IDL的配置. jar包配置,环境变量配置,dll配置,tomcat路径配置,tomcat运行选项配置, ...

  8. android 5.0新特性学习--视图阴影

    android 5.0的视图阴影主要是体验出层次性,就是在一个物体上面叠加上一层的设计,而这种设计就是除了传统的,x,y的纸面层,还有就是透过纸面的z轴的层次设计. elevation: 高度,静态属 ...

  9. android 在代码中使用 #ffffff 模式 设置背景色

    differentsum.setBackgroundColor(Color.parseColor("#F3733F"));

  10. VirtualBox 复制vdi文件和修改vdi的uuid

    1.复制vdi文件:VBoxManage clonehd 因为VirtualBox不允许注册重复的uuid,而每个vdi文件都有一个唯一的uuid.所以要想拷贝一份vdi文件再次在VBOX中注册,简单 ...