CentOS中恢复rm命令误删文件

1、简介

extundelete的文件恢复工具,支持ext3/ext4双格式分区恢复。
1.extundelete的文件恢复工具,该工具最给力的一点就是支持ext3/ext4双格式分区恢复。
2. 在实际线上恢复过程中,切勿将extundelete安装到你误删的文件所在硬盘,这样会有一定几率将需要恢复的数据彻底覆盖。
3. extundelete还是有很大的不完整性,基于整个磁盘的恢复功能较为强大,基于目录和文件的恢复还不够强大。
4. extundelete执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件,还包括文件夹。

5.任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用。

               umount /dev/partition 

               mount -o remount,ro /dev/partition

     6.保持良好的习惯,绝对比恢复数据要更简单。

二、安装

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

extundelete /dev/sda5 --inode 24904454

在这里插入图片描述
四、数据恢复
那我们就恢复指定目录,以当前分区为根分区进行路径设定,项目名进行掩盖

extundelete /dev/sda5 --restore-directory /webapps/xxxx/upload

在这里插入图片描述
因为磁盘数据一直在读写,所以有些文件之前的 inode 已经被重新分配了,导致部分数据无法恢复,数据最后会告诉我们有多少文件没有回复,但是大部分数据我们已经恢复了,这就是很重要的事情了。

那我们查看一下回复的数据吧,软件会在当前目录生成一个目录 RECOVERED_FILES 里面就是我们恢复的数据。

在这里插入图片描述
恢复全部数据可以使用命令

extundelete /dev/sda5 --restore-all

参考链接 :
LInux上使用extundelete进行数据恢复 : https://blog.51cto.com/bosszhang/2069542
centOS6.4 extundelete工具恢复rm -rf 删除的目录 :https://www.cnblogs.com/patf/p/3368765.html
centos Linux 安全工具之extundelete误删除恢复 : https://www.cnblogs.com/yangxiaofei/p/5638428.html

linux下如何恢复ntfs分区上被rm命令删除的文件 : https://www.sogou.com/link?url=CrexC2hj5_6kY9HJ9JpxI7OSDU6EM_KFaJrgRIXUqR4xxGy9PNVhECbjiJf3vfm3YVGjSzASZ4lfZwDIltHcHw…

http://my.oschina.net/fufangchun/blog/176550#OSC_h2_5

(centos)Linux extundelete命令 : https://www.cnblogs.com/274914765qq/p/4912692.html

Linux下数据误删除不再是恐怖的事情,ext3grep帮你恢复 : https://www.cnblogs.com/jikexianfeng/p/7349275.html

发布了314 篇原创文章 · 获赞 57 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_40907977/article/details/104354991