一.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值相同,恢复成功。。。


http://ixdba.blog.51cto.com/2895551/1566856