作者:蒋张裕

Extundelete是在Linux下,基于开源的数据恢复工具。使用阿里云的云服务器 ECS,您可以方便地安装,及时还原误删除的重要文件。

extundelete不仅能够通过在文件系统的日志中搜索该inode的旧副本来恢复inode的内容,而且如果已删除的条目不存在于文件系统中的目录中,extundelete将仍在日志中的旧副本中查找匹配项。在购买 ECS 实例的同时,手动安装所需的软件。您只需对extundelete进行简单的配置,即可不用担心重要文件的误删除等情况。

此外,现在随着业务的扩展,您可以利用阿里云强大的产品平台,例如:

:回滚快照,镜像恢复等方式

:多台ECS,实现业务的负载均衡,高可用

:利用对象存储 OSS(Object Storage Service),存储静态网页和海量图片、视频等重要数据。

本文档以 CentOS7.2 操作系统为例,介绍如何使用extundelete工具

适用对象:

适用于网站访问量小、少量 ECS 实例的个人用户。

软件及版本:

e2fsprogs-devel  e2fsprogs  gcc-c++  make

Extundelete-0.2.4

注*extundelete需要libext2fs版本1.39或更高版本来运行,但是对于ext4支持,请确保您有e2fsprogs版本1.41或更新版本(可以通过运行命令“dumpe2fs”并记录其输出的版本)找到

说明:以上版本是写文档时的软件版本。您下载的版本可能与此不同。

部署extundelete工具

下载安装包

https://sourceforge.net/projects/extundelete/files/latest/download

把包通过传输工具(比如ftp)传到ECS某个目录,这里是/home下面。

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

利用tar -xvjf 解压

cd extundelete-0.2.4

./configure  说明检查成功

make && make install   -->编译安装

这个时候会出现src目录,下面有个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,表示使用数据块大小来打开文件系统,一般用于查看已经知道大小的文件。

使用extundelete,模拟数据误删除然后恢复的过程

检查ECS现有的磁盘和可用分区

对/dev/vdb进行分区,格式化,新建目录,挂载,

在/zhuyun下面新建测试文件hello,写入test,命令echo test > hello

md5sum命令用于生成和校验删除前和恢复后俩个文件的md5值

然后rm -rf  hello

fuser -k /zhuyun        <-- 结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)

umount /dev/vdb1

extundelete --inode 2 /dev/vdb1  <--为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode,如图

/usr/local/bin/extundelete --restore-all  /dev/vdb1   <--恢复全部删除的文件

这个时候会在执行命令的同级目录下出现RECOVERED_FILES目录,查看是否恢复

通过md5值查看,恢复成功

注*

--restore-inode 12              # --restore-inode 按指定的I节点恢复

--extundelete --restore-all     # --restore-all  是全部恢复

您已经成功部署了部署和恢复了文件

extundelete教程(完整版)的更多相关文章

  1. Python入门教程完整版(懂中文就能学会)

    前几天给大家分享<从零学会Photoshop经典教程300集>的教程受到了广泛的关注,有人不知道怎么领取,居然称小编为"骗子". 不过小编的内心是强大的,网友虐我千百遍 ...

  2. IIS下配置Php+Mysql+zend的图文教程(完整版)

    网上有很多关于PHP在IIS下配置的教程,但都是一些很理性化的东西,我从里面整理出来这个教程 发出来为了方便参考,,有什么问题也可以大家一起交流,,如果有什么不对的地方,请指正.. 下面的教程都是在w ...

  3. es6入门教程完整版

    ECMAScript 6入门 <ECMAScript 6入门>是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性. 作者:阮一峰 授权:署名-非商用 ...

  4. ajax教程完整版

    第 1 页 Ajax 简介 Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.本文的作者是 ...

  5. LoadRunner_11破解教程完整版

    2017.12.17更正 qtm的LR11,如果是win10版本的电脑而且ie浏览器是11以上的请到loadrunner官网下载社区免费版,支持google,firefox,edge,ie11四大浏览 ...

  6. [Red5]Red5之Flash流媒体服务器的安装与使用教程完整版(组图)

    参看下面链接:http://www.cuplayer.com/player/PlayerCode/Red5/2013/0319/760.html

  7. BootStrap教程完整版

    http://www.runoob.com/bootstrap/bootstrap-navbar.html

  8. oracle11g安装教程完整版

    来自: https://www.2cto.com/database/201701/588135.html 64位WIN7+oracle11g+plsql安装 1.下载Oracle 11g R2 for ...

  9. AspJpeg2.0组件教程完整版 aspjpeg教程...

    AspJpeg是一款功能强大的基于Microsoft IIS环境的图片处理组件,网络上对其进行详细和深入介绍的中文文章并不多,即使有一般也只是牵涉到图片缩略图和图片水印,这与其为英文版本有着密切的关系 ...

  10. SQL_2008安装教程(完整版)

    Win 7 win xp系统中SQL2008安装注意事项一:SQL2008 镜像下载地址 http://download.microsoft.com/download/4/C/4/4C402E48-0 ...

随机推荐

  1. 使用滚动条(ActionBar)

    活动条(ActionBar)是Android3.0的重要更新之一.ActionBar位于传统标题栏的位置,也就是显示屏幕的顶部.ActionBar可显示应用的图标和Activity标题——也就是前面应 ...

  2. mysql数据库update时只更新部分数据方法

    需求:更新url中最一个字符的'-1'改为'-5',前面的内容保持不变 url列的内容如下:http://h5game.ecs.cedarmg.com/a/captal/dispther.do?dev ...

  3. JAVA中获取当前运行的类名,方法名,行数

    JAVA中获取当前运行的类名,方法名,行数 public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); Sta ...

  4. 查找子字符串----KMP算法深入剖析

    假设主串:a b a b c a b c a c b a b      子串:a b c a c 1.一般匹配算法 逐个字符的比较,匹配过程如下: 第一趟匹配 a b a b c a b c a c ...

  5. DotNet加密方式解析--数字签名

    马上就要过年回村里了,村里没有wifi,没有4G,没有流量,更加重要的是过几天电脑就得卖掉换车票了,得赶紧写几篇博客. 数据安全的相关技术在现在愈来愈变得重要,因为人们对于自身的信息都有一种保护的欲望 ...

  6. Ubuntu14.04 安装Oracle JDK

    在Ubuntu 14.04 中安装 Oracle JDK6,7 或 8. 准备:添加add-apt-repository工具 #apt-get install python-software-prop ...

  7. 数据挖掘学习笔记--AdaBoost算法(一)

    声明: 这篇笔记是自己对AdaBoost原理的一些理解,如果有错,还望指正,俯谢- 背景: AdaBoost算法,这个算法思路简单,但是论文真是各种晦涩啊-,以下是自己看了A Short Introd ...

  8. RabbitMQ小白菜学习之在window下的安装配置

    RabbitMQ安装 首先需要下载RabbitMQ的平台环境Erlang OTP平台和RabbitMQ Server(windows版): OTP 19.1 Windows 64-bit Binary ...

  9. js精要之模块模式

    // 模块模式是一种用于创建拥有私有数据的单件对象的模式,基本做法是使用立调函数(IIFE)来返回一个对象 var yourObjet = (function(){ // 私有数据 return { ...

  10. C++编程练习(9)----“图的存储结构以及图的遍历“(邻接矩阵、深度优先遍历、广度优先遍历)

    图的存储结构 1)邻接矩阵 用两个数组来表示图,一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中边或弧的信息. 2)邻接表 3)十字链表 4)邻接多重表 5)边集数组 本文只用代码实现用 ...