2、安装
extundelete需要依赖e2fsprogs和e2fslibs
yum install -y e2fsprogs* e2fslibs*
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar -axf extundelete-0.2.4.tar.bz2 -C /usr/local/src
cd /usr/local/src/extundelete-0.2.4
./configure --prefix=/usr/local/extundelete
make
make install
ln -s /usr/local/extundelete/bin/* /usr/local/bin/
3、使用及命令
1、umount或者read only 分区
umount /dev/partition
mount -o remount,ro /dev/partition
2、切换到存储恢复文件的目录
cd $dir
4、使用命令
此选项是默认的.
--superblock 打印指定分区的超级块信息。如不加任何的参数,
extundelete --superblock /dev/sda3 <---> extundelete /dev/sda1
--journal 显示块的日志信息,同--superblock。
extundelete --journal /dev/sda1
--after dtime 只恢复指定时间【dtime】(时间戳)之后,被删除的数据
假如删除的时间大概是2011-7-26 14:30
date -d "Jul 26 14:30" +%s
得出秒数 1234567890
恢复此时间后删除的所有文件
–before dtime 只恢复指定时间【dtime】(时间戳)之前,被删除的数据
--inode ino 显示某分区inode为x的信息,一般是查看该分区下所有的文件.
–restore-inode ino[,ino,…] 恢复一个或多个指定inode号的文件,该恢复的文件,
保存在当前目录下的RECOVERED_FILES里,文件名为【file.$inode】
–restore-file ‘filename’ 恢复指定的文件(被删除的),文件位于当前目录下的RECOVERED_FILES/$filename,文件名还是原来的
–restore-directory ‘dir-name’ 恢复指定的目录,文件位于当前目录下的
RECOVERED_FILES/$dir-name,文件名还是原来的
–restore-all 恢复某分区里所有被删除的数据,文件名还是原来的
案例
因为我的数据路径比较深,所以我们需要一步步查找,可以先从根分区 inode 查找
extundelete /dev/sdb1 --inode 2
我们会看到 weapps 目录的inode,
extundelete /dev/sda5 --inode 24641537
看到项目的 inode,
extundelete /dev/sda5 --inode 24903688
找到了最终删除数据的目录 upload