CentOS中恢复rm命令误删文件_centos rm ro(1)

178 阅读2分钟

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 1430

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