关于java:linuxext4格式文件误删除该如何恢复

7次阅读

共计 1158 个字符,预计需要花费 3 分钟才能阅读完成。

在开始进行试验之前,我曾经新建了一个空目录 /data,并将该目录挂载了一块新硬盘,将硬盘分区格式化为 ext4 的格局,所以当我操作/data 目录下的文件及文件夹的时候,实际上就是针对新挂载的硬盘进行数据读写操作。首先通过上面的命令筹备一下试验用的文件,新建一个文件 /data/delfile1.txt 并写入数据,新建一个目录/data/deldir, 并在该目录下新建一个文件/data/deldir/delfile2.txt

echo "ext4 delete test" > /data/delfile1.txt;
mkdir /data/deldir;
echo "ext4 delete test2" > /data/deldir/delfile2.txt;

实现下面的操作之后,/data目录下的文件门路树如下:

/data
├── deldir
│   └── delfile2.txt
├── delfile1.txt

ext4 格局的文件误删除复原工具咱们应用 extundelete,先进性装置。

yum install extundelete -y;

装置实现之后,咱们来正式进行试验,首先删除目录上面的文件及文件夹rm -fr /data/delfile1.txt /data/deldir。在文件被误删除之后的第一工夫,咱们应该将硬盘从操作系统 umount:umount /dev/sdb1,之所以这么做是避免操作系统过程一直的向磁盘写入数据,造成数据块的笼罩。数据块被笼罩之后,该数据块上的文件就无奈复原了。

# extundelete /dev/sdb1 --inode 2
File name                                       | Inode number | Deleted status
.                                                 2
..                                                2
lost+found                                        11
delfile1.txt                                      12             Deleted
deldir                                            262145         Deleted

应用下面的命令咱们能够查看到被误删除的文件(node number=12)及文件夹(node number=262145)。备注阐明:ext4 文件系统的分区根目录的 inode 值为 2,xfs 分区根目录的 inode 值为 64

extundelete /dev/sdb1  --restore-file delfile1.txt  #复原文件
extundelete /dev/sdb1  --restore-directory deldir  #复原目录
extundelete /dev/sdb1  --restore-inode 12 #依照 innode 编号进行复原
extundelete /dev/sdb1  --restore-all #全副复原

进行上述的复原操作之后,执行命令的文件夹下会新建一个 RECOVERED_FILES,看看这个 RECOVERED_FILES 文件夹上面是不是曾经有你误删除的文件或文件夹了呢?文件误删除复原的操作是存在肯定的失败的概率的

正文完
 0