zoukankan      html  css  js  c++  java
  • 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目录下找到对应的文件和目录如下:

  • 相关阅读:
    AlwaysOn 执行备份任务
    SQL Server 2016 + AlwaysOn 无域集群
    IIS负载均衡
    利用mapWithState实现按照首字母统计的有状态的wordCount
    DStream转为DF的两种方式(突破map时元组22的限制)
    java.lang.reflect.InvocationTargetException at shade.com.datastax.spark.connector.google.common.base.Throwables.propagate(Throwables.java160)
    java学习路线
    Java线程间通信
    多线程对象及变量的并发访问
    Java多线程基础
  • 原文地址:https://www.cnblogs.com/wsl222000/p/4476743.html
Copyright © 2011-2022 走看看