一.extundelete安装
1.安装依赖包
# yum install e2fsprogs* -y
2.下载并安装extundelete
# wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
# tar -jxvf extundelete-0.2.4.tar.bz2
# cd extundelete-0.2.4
# ./configure --prefix=/usr/local/extundelete
# make && make install
3.验证是否安装成功
# cd /usr/local/extundelete/bin
# ./extundelete -v
=============================
extundelete version 0.2.4
libext2fs version 1.41.12
Processor is little endian.
=============================
4.设置环境变量
# echo "PATH=/usr/local/extundelete/bin:$PATH" >> /etc/profile
# echo "export PATH" >> /etc/profile
# source /etc/profile
5.准备数据/data/test 目录
# mkdir /data/test
# /bin/cp -rpf /root/* /data/test
6.删除准备数据目录
# cd /data/
# rm -rf test
7.查看被删除文件
1).查看前需卸载该磁盘分区
# ll
# df -h
2).查看文件
注:一般一个分区挂载到一个目录下时,这个”根”目录的inode值为2
我们为了查看根目录所有文件,所以查看分区inode为2的这个部分
# extundelete /dev/sdb1 --inode 2
=================================================================================
File name | Inode number | Deleted status
. 2
.. 2
lost+found 11 Deleted
mysql-5.6.10.tar.gz 12 Deleted
nginx.conf 13 Deleted
pic.jpg 14 Deleted
==================================================================================
注:标记为”Deleted”的文件则是被删除的文件
8.恢复指定的文件
注: 默认被删文件会恢复到当前目录下的RECOVERED_FILES目录中去
# extundelete --restore-file pic.jpg /dev/sdb1
# cd RECOVERED_FILES/
# ll
==========================================================
-rw-r--r-- 1 root root 52592 8月 13 07:18 pic.jpg
==========================================================
9.完全恢复设备上文件
# extundelete --restore-all /dev/sdb1
# ll
==========================================================
总用量 34464
-rw-r--r-- 1 root root 35174149 8月 13 07:24 mysql-5.6.10.tar.gz
-rw-r--r-- 1 root root 4551 8月 13 07:24 nginx.conf
-rw-r--r-- 1 root root 52592 8月 13 07:18 pic.jpg
-rw-r--r-- 1 root root 52592 8月 13 07:24 pic.jpg.v1
==========================================================
注:这里完全恢复并不会把之前恢复的pic.jpg文件覆盖掉,而是重命名为pic.jpg.v1
10.恢复指定的时间点后被删文件
1).指定一个时间点
# date -d "Sep 4 03:09:13 2013" +%s
============================================
1378235353
============================================
2).恢复这个时间点后的文件
# extundelete --restore-all --after “1378235353” /dev/sda3
注:如果要恢之前的就用before参数。extundelete命令与after结合使用,在进行恢复时非常有用,可以过滤掉那太旧的文件,减小恢复压力。
11.检验是否恢复成功
# md5sum RECOVERED_FILES/mysql-5.6.10.tar.gz
============================================================================
9dcee911fb4bc7e977a6b63f4d3ffa63 RECOVERED_FILES/mysql-5.6.10.tar.gz
============================================================================
上传刚才误删的mysql安装包
# md5sum mysql-5.6.10.tar.gz
===========================================================
9dcee911fb4bc7e977a6b63f4d3ffa63 mysql-5.6.10.tar.gz
===========================================================
MD5值相同,恢复成功。。。