Linux之使用extundelete恢复删除文件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/m0_37814112/article/details/102738712

Linux之使用extundelete恢复删除文件

1.背景

手动误删除某目录或文件,没有备份,现在需要使用extundelete来恢复已经删除的文件。

2.部署

2.1 epel仓库安装
yum install extundelete -y

2.2 源码编译安装
wget  http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
yum -y install  bzip2  e2fsprogs-devel  e2fsprogs  gcc-c++ make
tar -xvjf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4 ./configure
make && make install

3.umount该文件所在磁盘,或者以read only方式重新挂载

为了避免分区已删除文件的数据存储位置被覆写后无法继续恢复,因此我们的第一个动作就是要将恢复数据的分区卸载或重新只读挂载。

3.1 首先需要umount该文件所在磁盘,或者以read only方式重新挂载
umount  /data
或者
mount -o remount,ro /data  
注意:个人建议第二种方式只读挂载。

4.恢复前操作

删除前
[root@docker1 data]# ll
总用量 5120800
-rwxr-xr-x. 1 root root        477 10月 25 10:07 bzip2.sh
drwxr-xr-x. 2 root root       4096 10月 25 10:07 docker
drwxr-xr-x. 5 root root       4096 10月 25 10:07 elasticsearch
-rwxr-xr-x. 1 root root        473 10月 25 10:06 gzip.sh
drwx------. 2 root root      16384 10月 24 21:29 lost+found
-rwxr-xr-x. 1 root root        461 10月 25 10:06 lz4.sh
-rwxr-xr-x. 1 root root        458 10月 25 10:06 lzop.sh
-rw-r--r--. 1 root root 5242880000 10月 25 10:08 test5
-rw-r--r--. 1 root root     762784 10月 25 10:08 test5.tar.xz
-rw-r--r--. 1 root root        260 10月 25 10:08 time.txt
-rwxr-xr-x. 1 root root        472 10月 25 10:08 xz.sh

删除
rm -f test5.tar.xz

查看删除文件或目录的名称
[root@docker1 data]# extundelete /dev/sdb1 --inode 2  (根分区inode值为2)
File name                                       | Inode number | Deleted status
.                                                 2
..                                                2
lost+found                                        11
bzip2.sh                                          12
gzip.sh                                           13
lz4.sh                                            14
lzop.sh                                           15
test5                                             16
docker                                            131073
elasticsearch                                     524289
test5.tar.xz                                      17             Deleted
time.txt                                          18
xz.sh                                             19

4.extundelete恢复单个文件

[root@docker1 data]# extundelete /dev/sdb1 --restore=file  test5.tar.xz

5.extundelete恢复单个目录

[root@docker1 data]# extundelete /dev/sdb1 --restore-dirctory  /data/redis

6.extundelete恢复所有文件

[root@docker1 data]# extundelete /dev/sdb1 --restore-all

猜你喜欢

转载自blog.csdn.net/m0_37814112/article/details/102738712