• linux-ext4格式文件误删除,该如何恢复?


    在开始进行实验之前,我已经新建了一个空目录/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文件夹下面是不是已经有你误删除的文件或文件夹了呢?文件误删除恢复的操作是存在一定的失败的概率的

  • 相关阅读:
    基于高端全闪存存储在医院中的应用与探索
    克拉默法则,逆矩阵,体积
    一种车载监控数据存储方法
    Kamiya艾美捷抗胸腺嘧啶二聚体单抗(环丁烷嘧啶二聚体CPD)说明书
    actuator--基础--6.2--端点解析--metrics端点
    计算机毕业设计Java的商城后台管理系统(源码+系统+mysql数据库+lw文档)
    nacos 适配瀚高数据库、ARM 架构
    【Unity入门计划】用双血条方法控制伤害区域减血速度
    伯努利分布,二项分布和泊松分布以及最大似然之间的关系(未完成)
    游戏工程管理
  • 原文地址:https://www.cnblogs.com/zimug/p/16329046.html