数据恢复工具--extundelete的安装与使用
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的安装与使用的更多相关文章
- Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用
1.下载extundelete包,安装依赖 我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel. yum ...
- Ext分区文件恢复工具extundelete
Ext分区文件恢复工具extundelete Ext是延伸文件系统(Extended system)的缩写.它是为Linux内核开发的第一个文件系统.它有多个版本.现在常见的是Ext3和Ext4.由 ...
- 11款最棒的Linux数据恢复工具
无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据.因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据.不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会 ...
- Linux下常用的数据恢复工具
一.数据删除 命令:rm -rf,将任何数据直接从硬盘删除,且没有任何提示 建议做法: 把命令参数放到后面:rm -rfi 将删除的东西通过mv命令移动到系统下的/temp目录下,然后写个脚 本定期执 ...
- php通用安装程序,导入数据文件(.sql)的安装程序
php通用安装程序,导入数据文件(.sql)的安装程序 该程序只需要1个php文件 和 1个数据文件,很方便调用.install/index.php 程序文件install/mycms ...
- 数据可视化工具zeppelin安装
介绍 zeppelin主要有以下功能 数据提取 数据发现 数据分析 数据可视化 目前版本(0.5-0.6)之前支持的数据搜索引擎有如下 安装 环境 centOS 6.6 编译准备工作 sudo yum ...
- 【优秀的iPhone/iPad数据恢复工具】Omni Recover for Mac 2.5
[简介] 今天和大家分享最新的 Omni Recover for Mac 2.5 版本,这是一款Mac上优秀的iPhone/iPad设备数据恢复工具,支持恢复误删除的短信.照片.视频.文档.通话记录等 ...
- 数据恢复工具PhotoRec
数据恢复工具PhotoRec PhotoRec是一款文件恢复工具.它可以从硬盘.光驱.记忆卡中恢复视频.文档.压缩包等文件.该工具绕开文件系统,采用文件特征码机制,直接进行底层数据扫描,尝试恢复文件. ...
- 大数据(9) - Flume的安装与使用
Flume简介 --(实时抽取数据的工具) 1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集.聚集.移动的服务,Flume只能在Unix环境下运行. 2) Flume基于流式架构 ...
随机推荐
- day037 mysql之单表查询
一.单表查询语法 select distinct 字段1,字段2,... from 库名.表名 where 条件 group by 字段 having 筛选条件 order by 字段 limit 限 ...
- Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;
使用TreeSet保存自定义对象时, 必须让定义对象的类实现Comparable接口,并重写compareTo()方法 否则报 实体类User:cannot be cast to java.lang. ...
- Oracle数据库联机重定义讲解及错误处理
1.1. 关键字:联机重定义/SYNC_INTERIM_TABLE/GATHER_TABLE_STATS 1.2. 需求:数据表的清理机制需要优化 离线消息表采用delete的方式定期对过期的数据进行 ...
- 佛祖保佑永无BUG代码注释
// // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| ...
- inline元素、block元素、inline-block元素
inline 内联元素:是不可以控制宽和高.margin等:并且在同一行显示,不换行,直到该行排满. block 块级元素:是可以控制宽和高.margin等,并且会换行.块级对象元素会单独占一行显示, ...
- Python第一发:Hello world
#!/usr/bin/python def main () : print 'hello world' main ()
- python的出生
1.语言的种类 机器语言------>汇编语言------>高级语言 高级语言按转换方式分为两类: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器 ...
- node有哪些坑?
const server = http.createServer((req, res) => {} const server = http.createServer((res, req) =&g ...
- python if __name__=='__main__'的理解
定义一个模块叫module.py: def main(): print "we are in %s" %__name__ if __name__=='__main__': main ...
- Python之路,Day9 - 异步IO\数据库\队列\缓存
https://www.cnblogs.com/alex3714/articles/5248247.html http://www.cnblogs.com/wupeiqi/articles/51327 ...