• EXT格式误删除恢复


    http://hatemysql.com/

    1.从/proc文件系统恢复数据
    #lsof |grep -i delete
    cat 11791 root 1w REG 253,0 94 1048589 /home/woqu/echo_red.sh (deleted)

    #cp /proc/11791/fd/1 echo_red.sh

    2.Extundelete工具恢复
    查找误删除文件
    通过extundelete可以查看哪些文件被删除了。在我们的模拟场景下,可以这样使用extundelete –inode 2 /dev/VolGroup/home查看/home分区下各个文件和目录的详细信息。这里/dev/VolGroup/home指的是/home对应的分区。对于ext系列的文件系统,编号为2的inode中包含了该分区下的各个文件和目录信息。输出信息如下:

    [root@test1 /root]

    #extundelete –inode 2 /dev/VolGroup/home


    lost+found 11

    mysql 262145

    cdrom.repo 12

    woqu 2883585

    我们这里最关心的还是mysql目录的信息。这里我们知道mysql的Inode为262145。于是我们可以再次用extundelete –inode 来查看mysql目录的详细信息:

    [root@test1 /root]

    #extundelete –inode 262145 /dev/VolGroup/home


    恢复误删除数据
    extundelete可以通过–restore-inode将指定inode对应的文件恢复出来,也可以使用–restore-all将所有状态为已经Deleted的文件和目录恢复回来。restore-inode主要用于恢复单个文件;restore-all用于恢复所有的文件目录。另外,还有–restore-file,–restore-files,–restore-directory来恢复指定目录或者文件。

    另外,如果你知道删除的时间,那么可以指定–after或者–before来指定误删除的时间。

    恢复数据的时候,extundelete将在当前目录下新建RECOVERED_FILES文件夹,并把恢复出来的数据文件或者目录存放在该目录中。

    比如,我们使用–restore-inode恢复数据,恢复264111号inode文件如下:

    [root@test1 /root/RECOVERED_FILES]

    #extundelete –restore-inode 264111 /dev/VolGroup/home

    使用restore-all恢复的话,目录名和文件名都会恢复回来,你可以在当前目录的RECOVERED_FILES目录下找到对应的文件和目录如下:

  • 相关阅读:
    算法(第四版)C# 习题题解——2.4
    算法(第四版)C# 习题题解——2.3
    .NET编译的目标平台(AnyCPU,x86,x64)
    Windows无法访问局域网内共享文件夹[0x800704cf,0x80070035]解决方案
    ASP.NET 网站部署到IIS上如何进行调试
    ASP.NET 前台Javascript调用后台代码 / 后台调用前台Javascript
    C#反射-Assembly.Load、LoadFrom与LoadFile
    Entity Framework Context上下文管理(CallContext 数据槽)
    Entity Framework(EF的Code First方法)
    Entity Framework(EF的Model First方法)
  • 原文地址:https://www.cnblogs.com/wsl222000/p/4476743.html
Copyright © 2020-2023  润新知