博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux误删文件挽救
阅读量:6252 次
发布时间:2019-06-22

本文共 2230 字,大约阅读时间需要 7 分钟。

Linux作为企业级服务器,数据的安全性至关重要,任何数据德尔丢失和误删都是不可容忍的!最近我接触到一款软件-ext3grep,它可以恢复误删的数据,下面简单讲解一下这个软件。

ext3grep的恢复原理

利用ext3grep恢复文件时并不依赖特定文本格式。首先ext3grep通过文件系统的root inode(根目录的inode一般为2)来获取当前文件系统下所有文件的信息,包括存在的和已经删除的文件,这些信息包括文件名和inode。然后利用inode信息结合日志去查询该inode所在的block位置,包括直接块、间接块等信息。最后利用dd命令将这些信息备份出来,从而恢复数据文件。

ext3grep的安装

ext3grep官方网站:http://code.google.com/p/ext3grep/

网盘下载:http://pan.baidu.com/s/1i47ZPsT

所需的系统相关包如下:

[root@localhost ~]#rpm -qa | grep e2fsprogse2fsprogs-libs-1.39-8.el5e2fsprogs-1.39-8.el5e2fsprogs-devel-1.39-8.el5

以上三个都必须安装,不然后面的安装会出现问题。

下面进入编译安装阶段,过程如下:

[root@localhost /opt]# tar zxvf ext3grep-0.10.2.tar.gz[root@localhost ext3grep-0.10.2]# ./configure[root@localhost ext3grep-0.10.2]# make[root@localhost ext3grep-0.10.2]# make install[root@localhost ext3grep-0.10.2]# ext3grep -vRunning ext3grep version 0.10.2

默认的ext3grep命令放在/usr/local/bin目录下,请通过“ext3grep --help”获取详细使用帮助。

实战ext3grep恢复文件
模拟数据误删环境

下面通过一个模拟环境,详细介绍使用ext3grep恢复数据文件的过程:

[root@localhost ~]# mkdir /disk[root@localhost ~]# mkdir /mydata[root@localhost ~]# cd /mydata[root@localhost mydata]# dd if=/dev/zero  of=/mydata/disk1 count=102400[root@localhost mydata]#mkfs.ext3 /mydata/disk1
[root@localhost mydata]#mount -o loop /mydata/disk1  /disk[root@localhost mydata]#cd /disk[root@localhost disk]# cp /etc/profile /disk[root@localhost disk]# cp /boot/initramfs-2.6.32-220.el6.i686.img /disk[root@localhost disk]#echo"I am archy" > ext3grep.txt[root@localhost disk]#mkdir /disk/ext3grep[root@localhost disk]#cp /etc/hosts /disk/ext3grep[root@localhost disk]#ls -al
[root@localhost disk]#md5sum profile[root@localhost disk]#md5sum initramfs-2.6.32-220.el6.i686.img[root@localhost disk]#md5sum ext3grep.txt[root@localhost disk]#rm -rf /disk/*[root@localhost /opt]# umount /disk
查询数据恢复信息

执行如下命令,查询需要恢复的数据信息:

[root@localhost /opt]# ext3grep /mydata/disk1  --ls --inode 2

这条命令主要用于扫描当前文件系统下所有的信息,包括存在的和已删除的文件,其中含有D标识的就是文件已被删除。通过以下命令可以获取文件要恢复的路径信息:

[root@localhost /opt]# ext3grep /mydata/disk1  --dump-names
恢复删除数据

单个文件恢复命令如下:

[root@localhost /opt]# ext3grep /mydata/disk1  --restore-file  ext3grep.txt

恢复的文件存放在/opt/RESTORED_FILES目录下。

恢复所有已删除数据的命令如下:

[root@localhost /opt]# ext3grep /mydata/disk1  --reatore-all

转载于:https://www.cnblogs.com/raymond-yan/p/9289385.html

你可能感兴趣的文章
分享一个shell脚本的坑:grep匹配+wc取值 在脚本执行后的结果与手动执行结果不一致...
查看>>
【Clojure 基本知识】 关于函数参数的各种高级用法
查看>>
Python系列文章
查看>>
顺序图【6】--☆☆
查看>>
5日均线MACD
查看>>
Docker 版本
查看>>
【ABP杂烩】面向切面编程(AOP)知识总结
查看>>
java 如何使用多线程调用类的静态方法?
查看>>
数据挖掘基本概念讲解
查看>>
(原創) C语言果然是不会死的语言 (C/C++) (C) (IC Design) (DE2) (Nios II)
查看>>
不能运行VS2005的DSL Tool例子
查看>>
OSI/RM参考模型和TCP/IP协议的关系
查看>>
Android Intent用法汇总
查看>>
Vista上运行VisualStudio2005,调试asp.net程序的怪问题
查看>>
理解HTTP幂等性
查看>>
登录服务器,首先用到的5个命令
查看>>
使用PIP扩展BTARN
查看>>
GetLastError()返回值及含义
查看>>
android UI之Shape详解_GradientDrawable
查看>>
Python sh库学习 上篇
查看>>