数据恢复软Extundelete
1》概述
作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何 快速、有效地恢复数据呢?
1>如何使用rm –rf命令
在Linux系统下,通过 rm –rf 可以将任何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站的功能,也就意味着数据 在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重,在使用rm命令的的时候,比较稳妥的方法就是命令参数放到后面,这样有一个提 醒作用, 那么在企业当中其实保证数据最安全的方法就是做好备份,虽然备份不是万能的,但是没有备份是万万不行的,任何数据工具都有一定的局限 性,都不能保证完整的恢复出所有的数据,因此,把备份作为核心,把数据恢复工具作用辅助是运维必须坚持的一种准则;
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信息,然后才开始恢复数据,所以在恢复速度上相对来说比较慢,并且在功能上也不支持目录恢复、时间恢复等;
3>extundelete恢复的原理
在介绍使用extundelete 进行恢复数据之前,简单的介绍一下inode的知识,在Linux下可以通过”ls -id”命令查询某个文件或者目录的inode值,例如查看目 录的inode值,可以输入: ls –id / 查看根目录的inode值,由此可知,根目录的inode值为2,在利用extundelete恢复文件时并不依赖特定文件格式,首先 extundelete会通过文件系统的inode信息,来获得当前文件系统下的所有文件信息,包括存在和已经删除的文件,这些信息包括文件名和inode,然后利用 inode信息结合去查询该inode所在的block的位置,包括直接块,间接块等信息,最后利用dd命令将这些信息备份出来,从而恢复数据文件;
2》extundelete的使用
1>安装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 直接 yum install e2fsprogs* 就可以了。
# tar -xvf extundelete-0.2.4.tar.bz2
#cd extundelete-0.2.4
# ./configure && make && make install
出现警告的,可以忽略。
2>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 命令当前目录必须是可写的;
3>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
4>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
5>extundelelte恢复某个时间的
after 恢复某时间之后的被删除的数据, before恢复某时间段之前被删除的数据
[root@master /]# date +%s
1409111629
# extundelete --before 1409111629 --restore-all /dev/sdb1
错误:小提示每次做测试了,有点人为了方便,在测试完成之后, mkfs.ext4 /dev/sdb1 再重新挂载,写入数据后,再删除,卸载,再测试;
如果一个分区被2次格式化后,在往里面填充数据后,自己手动建立的数据将不可恢复,只能通过别的地方CP复制过来的数据才可以恢复,想 要重新测试;请把虚拟机新增加的硬盘移除掉,在重新增加,进行分区,测试;
注意此软件还有很多BUG存在,特别对一些大文件恢复。还有很大缺陷。并且不能保证100%的恢复 ,所以只能救火使用;
数据恢复软Extundelete的更多相关文章
- 数据恢复软件Extundelete
数据恢复软件Extundelete介绍 一.概述 作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何快速.有效地恢 ...
- Linux下数据恢复软件extundelete
extundelete软件专门解决意外删除事件的,有时候不小心 rm -rf * 就可能毁掉有用的数据.因此就出现了这个恢复工具,但这个工具也不是万能的,删除数据后一定要停止所以的写操作.以免Inod ...
- Linux下高效数据恢复软件extundelete应用实战
作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几 ...
- 数据恢复软件extundelete介绍
linux下文件系统一般由文件名.Inode.Block三部分组成.当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的inode,看该用户是否具有访问这个文件的权限.如果有, ...
- 【转】文件恢复神器extundelete
参考博文: 1.Linux中VMware虚拟机增加磁盘空间的扩容操作 http://www.net130.com/CMS/Pub/special/special_virtual/special_vir ...
- linux数据误删后,灾难性数据备份与数据还原
一 准备工作 #rm –rf 误删重要数据怎么办? 1. 要冷静,通知停止该服务器一切操作 2. 查看被删除文件所在分区 #mount 3. 将该分区设置为只读 #mount -r -n -o re ...
- linux 下文件误删恢复
linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...
- Extundelete 数据恢复
Extundelete 数据恢复 “rm -rf /*” 是我们经常使用的命令,操作不慎全盘接蹦,从删库到跑路,身为过来人的我们都经历过rm带来的痛苦. 不要慌,当我们有了Extundelete就可以 ...
- LINUX使用extundelete进行数据恢复
从删库到跑路不是一句笑话,不小心误删除操作很容易造成整个公司业务崩溃.所以真的误删除了,第一时间就是赶紧停机,不要再进行任何写入操作,把这块磁盘挂载到其他机器进行数据恢复 这里我们介绍一下使用 LIN ...
随机推荐
- WebHttpBinding.ReaderQuotas 无法设置或者无法点出来
项目需要引用System.Runtime.Serialization.dll 才能设置各项值: binding.ReaderQuotas.MaxDepth = ; binding.ReaderQuot ...
- 熟练的使用CIFAR-10数据集
CIFIR-10是一套包含60000张,大小为32x32的十分类图片数据集,其中50000张被分为训练数据,10000张被分为测试数据,http://www.cs.toronto.edu/~kriz/ ...
- servlet 3.0无需配置web.xml,使用注入方式配置servlet实现登陆功能(服务器需要支持servlet3.0)
首先申明上面的报错红叉,我也不知道怎么回事.总之能运行. 新建项目时选择java EE6.0,低版本没有servlet3.0. 先看一个基本示例. Test.java是用来测试无需配置文件,无需静态页 ...
- 【POJ】3378 Crazy Thairs(树状数组+dp+高精)
题目 传送门:QWQ 分析 题意:给个数列,求有多少五元上升组 考虑简化一下问题:如果题目求二元上升组怎么做. 仿照一下逆序对,用树状数组维护一下就ok了. 三元怎么做呢? 把二元的拓展一位就可以了, ...
- Python 常用 PEP8 编码规范和建议
代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: # (垂直隐式缩进)对准左括号 foo = long_function_name(var_one, va ...
- 浅谈Storm流式处理框架
Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据.但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂. 有需求也就有创造,在Hadoop基本奠定了大数据霸 ...
- 使用docker快速搭建环境-安装mysql
install docker sudo apt-get install -y docker.io download mysql sudo docker pull mysql start mysql s ...
- django-创建表的字段属性,表关系
表的各种属性文档:null char ..., django与之对应的文档 https://docs.djangoproject.com/en/1.11/ref/models/fields/ 英文 ...
- Git 知识总结
版本控制git之一 - 仓库管理 版本控制git之二-分支 git https://mp.weixin.qq.com/s/96FS12DTzbjAJQ1ynRNqdg git init 初始化目录 g ...
- 更换windows xp序列号
ON ERROR RESUME NEXT Dim VOL_PROD_KEY if Wscript.arguments.count<1 then VOL_PROD_KEY=InputBox(&qu ...