共计 2044 个字符,预计需要花费 6 分钟才能阅读完成。
导读 | 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 e2fsprogs
e2fsprogs-libs-1.39-8.el5
e2fsprogs-1.39-8.el5
e2fsprogs-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 -v
Running 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
正文完
星哥玩云-微信公众号