• Linux下面误删除文件使用extundelete工具恢复介绍


    操作系统版本:CentOS release 6.4 (Final)      软件版本:extundelete-0.2.4.tar.bz2

    PS:该软件恢复文件系统仅支持ext2/ext3/ext4

    1.使用rz命令上传extundelete-0.2.4.tar.bz2到/tmp文件夹下并解压软件。

    [root@localhost tmp]# tar -jxvf extundelete-0.2.4.tar.bz2
    

    2.进入到extundelete解压的目录下面,执行编译安装。

    [root@localhost test]# cd /tmp
    [root@localhost tmp]# ls
    extundelete-0.2.4          lrzsz-0.12.20         pulse-0Wu68Rqve4hx
    extundelete-0.2.4.tar.bz2  lrzsz-0.12.20.tar.gz  virtual-root.b6Z0Gt
    [root@localhost tmp]# cd extundelete-0.2.4
    [root@localhost extundelete-0.2.4]# ./configure 
    Configuring extundelete 0.2.4
    configure: error: Can't find ext2fs library   #根据提示找到ext2fs库文件进行安装,执行yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel
    [root@localhost extundelete-0.2.4]# ./configure 
    Configuring extundelete 0.2.4
    Writing generated files to disk
    [root@localhost extundelete-0.2.4]# make
    make -s all-recursive
    Making all in src
    [root@localhost extundelete-0.2.4]# make install 
    Making install in src
      /usr/bin/install -c extundelete '/usr/local/bin'
    

    3.新添加一块硬盘/dev/sdb1并划分区格式化挂载到/test,新建文件和目录如下。

    [root@localhost /]# tree test
    test
    ├── 1.txt
    ├── a
    │   ├── a.txt
    │   └── b
    │   ├── a.txt
    │   └── c
    │   ├── a.txt
    │   └── d
    ├── a.txt
    ├── hosts
    ├── kong.txt
    ├── lost+found
    └── passwd

    5 directories, 8 files

    4.进入到挂载目录/test,然后删除挂载点里面的文件并卸载磁盘。

    [root@localhost /]# rm -rf a a.txt 1.txt hosts kong.txt passwd
    [root@localhost /]# ls /test
    lost+found
    [root@localhost /]# umount /test

    5.使用extundelete查看/dev/sdb1目录和文件的inode号。

    [root@localhost ~]# extundelete /dev/sdb1 --inode 2
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 41 groups loaded.
    Group: 0
    Contents of inode 2:
    0000 | ed 41 00 00 00 10 00 00 f4 6e 9d 5a f2 6e 9d 5a | .A.......n.Z.n.Z
    0010 | f2 6e 9d 5a 00 00 00 00 00 00 03 00 08 00 00 00 | .n.Z............
    0020 | 00 00 00 00 00 00 00 00 39 03 00 00 00 00 00 00 | ........9.......
    0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0080 | 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    0090 | bd 68 9d 5a 00 00 00 00 00 00 00 00 00 00 00 00 | .h.Z............
    00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    00b0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    00f0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
    
    Inode is Allocated
    File mode: 16877
    Low 16 bits of Owner Uid: 0
    Size in bytes: 4096
    Access time: 1520266996
    Creation time: 1520266994
    Modification time: 1520266994
    Deletion Time: 0
    Low 16 bits of Group Id: 0
    Links count: 3
    Blocks count: 8
    File flags: 0
    File version (for NFS): 0
    File ACL: 0
    Directory ACL: 0
    Fragment address: 0
    Direct blocks: 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    Indirect block: 0
    Double indirect block: 0
    Triple indirect block: 0
    
    File name                                       | Inode number | Deleted status
    .                                                 2
    ..                                                2
    lost+found                                        11
    1.txt                                             12             Deleted
    a                                                 8017           Deleted
    hosts                                             13             Deleted
    passwd                                            14             Deleted
    a.txt                                             15             Deleted
    kong.txt                                          16             Deleted
    

    6.使用extundelete命令进行文件和目录的恢复。

    (1)通过inode号恢复(文件名会有变更);

    [root@localhost test]# extundelete /dev/sdb1 --restore-inode 12
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 41 groups loaded.
    Loading journal descriptors ... 101 descriptors loaded.
    [root@localhost test]# ls
    RECOVERED_FILES
    [root@localhost test]# cd RECOVERED_FILES/
    [root@localhost RECOVERED_FILES]# ls
    file.12
    [root@localhost RECOVERED_FILES]# cat file.12 
    1111
    

    (2)通过文件名恢复;

    [root@localhost RECOVERED_FILES]# extundelete /dev/sdb1 --restore-file passwd
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 41 groups loaded.
    Loading journal descriptors ... 101 descriptors loaded.
    Successfully restored file passwd
    [root@localhost RECOVERED_FILES]# cd RECOVERED_FILES/
    [root@localhost RECOVERED_FILES]# cat passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    

    (3)通过目录名称恢复(空目录是不会被恢复的);

    [root@localhost test]# extundelete /dev/sdb1 --restore-directory a
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 41 groups loaded.
    Loading journal descriptors ... 101 descriptors loaded.
    Searching for recoverable inodes in directory a ... 
    13 recoverable inodes found.
    Looking through the directory structure for deleted files ... 
    7 recoverable inodes still lost.
    [root@localhost test]# ls
    RECOVERED_FILES
    [root@localhost test]# cd RECOVERED_FILES/
    [root@localhost RECOVERED_FILES]# ls
    a
    [root@localhost RECOVERED_FILES]# tree a
    a
    ├── a.txt
    └── b
        ├── a.txt
        └── c
            └── a.txt
    
    2 directories, 3 files
    

    (4)恢复所有文件和目录,不包括空文件和空目录;

    [root@localhost test]# extundelete /dev/sdb1 --restore-all
    NOTICE: Extended attributes are not restored.
    Loading filesystem metadata ... 41 groups loaded.
    Loading journal descriptors ... 101 descriptors loaded.
    Searching for recoverable inodes in directory / ... 
    13 recoverable inodes found.
    Looking through the directory structure for deleted files ... 
    1 recoverable inodes still lost.
    [root@localhost test]# ls
    RECOVERED_FILES
    [root@localhost test]# cd RECOVERED_FILES/
    [root@localhost RECOVERED_FILES]# ls
    1.txt  a  a.txt  hosts  kong.txt  passwd
    [root@localhost RECOVERED_FILES]# tree
    .
    ├── 1.txt
    ├── a
    │   ├── a.txt
    │   └── b
    │       ├── a.txt
    │       └── c
    │           └── a.txt
    ├── a.txt
    ├── hosts
    ├── kong.txt
    └── passwd
    

      

      

      

      

      

     

      

     

  • 相关阅读:
    PostgreSQL的德哥教程
    pgbench的使用简介
    pg生成日期序列
    在Intellij IDEA 12中Tomcat无法调试
    如何使用命令行来控制IIS服务的启动和停止
    SharePoint Support Engineer 常用技术点
    测试博文写作
    C#数字进制间与字符串类型相互转换
    [转载]INNO Setup 使用笔记
    unity3d 游戏开发引擎
  • 原文地址:https://www.cnblogs.com/bob-yanlibo/p/8412503.html
Copyright © 2020-2023  润新知