美文网首页
Linux rm -rf 误删数据恢复

Linux rm -rf 误删数据恢复

作者: bullion | 来源:发表于2018-11-22 16:21 被阅读0次

    慎用 rm

    不保证能完全会恢复

    由于我误删了图片服务器,最后只恢复了一小半图片,最后没办法,只好回滚到一周前的快照

    1)安装恢复软件

    a、epel 仓库安装

    如果我们的源里面添加了 epel 仓库的话,我们可以直接使用下面的命令安装。

    yum install extundelete-y

    b、源码编译安装

    wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2

    yum -y install  bzip2  e2fsprogs-devel  e2fsprogs  gcc-c++ make

    tar -xvjf extundelete-0.2.4.tar.bz2

    cd extundelete-0.2.4

    ./configure

    make && make install

    c、查看安装情况

    $ extundelete --version

    2)删除数据查找

    # 查看文件系统

    $ df -h

    先从根分区 inode 查找:

    $ extundelete /dev/vda1 --inode 2

    比如此处需要继续进入root则:

    $ extundelete /dev/vda1 --inode 393219

    根据需要找到自己最终删除数据的目录

    我们可以看到标称的 Deleted,这些数据就是我们要进行恢复的数据

    注意: 有时候恢复数据会报错

    此时,多尝试几种恢复方式

    --restore-inode ino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。

    --restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。

    --restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。

    --restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。

    3)数据恢复

    指定目录恢复,以当前分区为根分区进行路径设定,项目名进行掩盖

    $ extundelete --restore-directory /webapps/xxxx/upload /dev/vda15

    恢复全部数据可以使用命令

    $ extundelete --restore-all /dev/vda1

    根据inode恢复

    $ extundelete --restore-inode 393219

    其他命令自行查看帮助

    $ extundelete --help

    其中,参数(options)有:

    --version, -[vV],显示软件版本号。

    --help,显示软件帮助信息。

    --superblock,显示超级块信息。

    --journal,显示日志信息。

    --after dtime,时间参数,表示在某段时间之后被删的文件或目录。

    --before dtime,时间参数,表示在某段时间之前被删的文件或目录。

    动作(action)有:

    --inode ino,显示节点“ino”的信息。

    --block blk,显示数据块“blk”的信息。

    --restore-inode ino[,ino,...],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名。

    --restore-file 'path',恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RECOVERED_FILES目录中。

    --restore-files 'path',恢复命令参数,表示将恢复在路径中已列出的所有文件。

    --restore-all,恢复命令参数,表示将尝试恢复所有目录和文件。

    -j journal,表示从已经命名的文件中读取扩展日志。

    -b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件。

    -B blocksize,通过指定数据块大小来打开文件

    恢复的数据会在当前目录生成一个目录 RECOVERED_FILES 里面就是我们恢复的数据。

    相关文章

      网友评论

          本文标题:Linux rm -rf 误删数据恢复

          本文链接:https://www.haomeiwen.com/subject/yewlqqtx.html