专栏首页Linux运维学习之路Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

1、下载extundelete包,安装依赖

我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel。

yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel

然后下载extundelete程序

下载地址: http://extundelete.sourceforge.net/

2、编译安装extundelete

编译步骤:
tar xjf extundelete-0.2.4.tar.bz2 
cd extundelete-0.2.4
./configure 
make && make install 

extundelete的用法,可以通过help查看详细!

extundelete软件恢复原理

extundelete恢复数据的过程:在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据成功的比例。

3、卸载需要恢复文件的分区

fuser -k /mnt/test/
umount /mnt/test

4、使用extundelete查看分区上存在的文件

并通过执行extundelete命令查询/dev/sdb1分区可恢复的数据信息

extundelete --inode 2 /dev/sdb1     

恢复文件例子

例如获得被删文件inode为13 恢复:
extundelete --restore-inode 13 /dev/sdb1 
mount /dev/sdb1 /mnt/test/
mv RECOVERED_FILES/file.13 /mnt/test/resolv.conf      恢复完成,可用cat验证内容。

恢复单个文件:extundelete  /dev/sdb1 --restore-file passwd       会在当前目录下生成一个RECOVERED_FILES目录,里面保存已经恢复的文件。

恢复单个目录:extundelete  /dev/sdb1 --restore-directory  /mongodb

恢复所有误删文件:extundelete  /dev/sdb1 --restore-allextundelete

还可以实现恢复某个时间段的数据。可以通过“--after”和“--before”参数实现!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • day4、Linux基础题目

    第一题 我想在/data/da 目录下面创建 一个 da.txt 文件  [root@ll ~]# cd /data/oldboyedu -bash: cd: ...

    863987322
  • inotify软件部署及实时同步

    声明:博主使用的是CentOS6.9的系统 参考资料: https://github.com/rvoicilas/inotify-tools/wiki htt...

    863987322
  • Nginx软件部署配置过程

    ---恢复内容开始--- 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x...

    863987322
  • 层层升入:SQL极限调优之一次更新操作的N种优化可能

    杨廷琨,网名 yangtingkun 云和恩墨技术总监,Oracle ACE Director,ACOUG 核心专家 最近进行了一次更新操作,整个处理和优化的过...

    数据和云
  • 网页解析之Beautiful Soup库运用

    今日分享:Beautiful Soup库简单应用 一句话来理解 Beautiful Soup库就是:它是解析遍历维护标签树的功能库。以下是BeautifulSo...

    企鹅号小编
  • 从零开始学建树(树的分治,树的重心)

    分治算法在树的路径问题中的应用 一、树的分治算法 树的分治算法是分治思想在树型结构上的体现。 任一个具有n个节点的连通路,它的任何一棵树的树枝数为n-1 分治:...

    Angel_Kitty
  • 数字华容道01:原型图设计

    之前已经介绍了简版数字华容道的程序, 详情请移步 看了《最强大脑》,我决定做这个游戏,其实现了数字华容道的框架设计及算法实现,但是那个太简陋了,今天开始将逐步实...

    王强
  • solidity语言开发以太坊智能合约中的继承

    我们已经探索了很多主题,在编写智能合约时我们发现经常使用相同的模式:例如,智能合约具有在构造函数中设置的所有者,然后生成修改器以便仅让所有者使用一些功能。如果我...

    笔阁
  • JAVA学习AWT绘图

    package com.graphics; import java.awt.Graphics; import javax.swing.JFrame; imp...

    别先生
  • JPA EntityManager详解

    应用程序管理的EntityManager(Application-Managed EntityManager)

    py3study

扫码关注云+社区

领取腾讯云代金券