Extundelete 数据恢复

“rm -rf /*” 是我们经常使用的命令,操作不慎全盘接蹦,从删库到跑路,身为过来人的我们都经历过rm带来的痛苦。

不要慌,当我们有了Extundelete就可以解决一系列误删除操作问题。下面我会详细介绍一下这款救命工具。

介绍

常见的开源恢复工具有:debugfs、R-Linux、ext3grep、extundelete

  • ext3grep:只支持 ext3 文件系统
  • extundelete:支持 ext3 和 ext4 文件系统

实现原理:通过分析文件系统日志,解析出所有文件的 inode 信息,利用 inode 去查找所在 block ,利用 dd 备份出以删除的数据。


搭建

  • 包名:extundelete-0.2.4.tar.bz2
  • 可靠的下载地址:https://pan.baidu.com/s/1WQ8Ns6_sz9yZmkUGVs7ZyA
  • 更可靠的密码:5c6a

1、安装依赖包

yum -y install e2fsprogs-devel gcc

2、解压工具包

tar jxf extundelete-0.2..tar.bz2

3、指定安装目录、编译、编译安装

./configure ; make ; make install

使用

常用参数:

--after dtime            时间参数,表示在某段时间之后被删除的文件或目录
--before dtime 时间参数,表示在某段时间之前被删除的文件或目录
--inode ino 显示节点 ino 的信息
--block blk 显示数据块 blk 的信息
--restore-inode ino 表示恢复节点 ino 的文件,用来恢复单个文件
--restore-file path 表示恢复指定路径下的文件,用来恢复目录下所有文件
--restore-all 表示恢复所有被删除的目录跟文件

开启恢复流程:

1、查找被删除文件所在目录 id

ls -id /xxx/xxx/

注:输出最左侧为ID号。

2、查看被删除的上层目录 inode

# extundelete 所在分区名称 --inode ID号
extundelete /dev/sdb1 --inode 130619
# 可以看到被删除的目录 package 状态为 Deleted ,inode 为 137256
File name | Inode number | Deleted status
. 130619
.. 130587
package 137256 Deleted
apr-1.5.1 140038
apr-util-1.5.4 535002
httpd-2.4.10 535320
pcre-8.30 656184
siege-3.0.8 656483
libmcrypt-2.5.8 144383
package.xml 146709
mysql-5.6.4-m7 140588
memcache-2.2.7 146712
php-5.4.13 667097
redis-2.2.5 269016
memcached-1.4.15 146806
libevent-master 539531 Deleted

输出案例

3、恢复数据、恢复指定目录下所有删除的数据

# extundelete 数据所在分区名称 --restore-directory 恢复数据的目录
extundelete /dev/sdb1 --restore-directory /xxx/xxx/xxx/
NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible. You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n)
y
Loading filesystem metadata ... 151 groups loaded.
Loading journal descriptors ... 22517 descriptors loaded.
Searching for recoverable inodes in directory /usr/local/src/package ...
1679 recoverable inodes found.
Looking through the directory structure for deleted files ...
Block 578312 is allocated.
Unable to restore inode 146713 (usr/local/src/package/redis-2.2.5.tgz): Space has been reallocated.
Unable to restore inode 539531 (usr/local/src/package/libevent-master): Space has been reallocated.
1670 recoverable inodes still lost.

输出案例

4、完成恢复后续工作

# 恢复数据后,会把恢复数据送到当前路径的RECOVERED_FILES/内,再把恢复的数据拿回原处
cp RECOVERED_FILES/xxx/xxx/* /xxx/xxx/xxx/

结束..


Extundelete 数据恢复的更多相关文章

  1. extundelete数据恢复

    需要安装的依赖包: 1. e2fsprogs软件包已安装2. e2fsprogs-libs软件包已安装3. e2fsprogs-devel软件包已安装4. gcc软件包已安装5. gcc-c++ 软件 ...

  2. Linux 运维之路

     第一章:Linux必备知识  1.Linux 系统介绍 2.Linux 简单文本处理 3.Linux 组管理.权限 4.Linux vim文档操作 5.Linux 高级文件管理 6.Linux 文件 ...

  3. Linux下数据恢复软件extundelete

    extundelete软件专门解决意外删除事件的,有时候不小心 rm -rf * 就可能毁掉有用的数据.因此就出现了这个恢复工具,但这个工具也不是万能的,删除数据后一定要停止所以的写操作.以免Inod ...

  4. Linux下高效数据恢复软件extundelete应用实战

    作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几 ...

  5. 数据恢复软件Extundelete

    数据恢复软件Extundelete介绍 一.概述 作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何快速.有效地恢 ...

  6. LINUX使用extundelete进行数据恢复

    从删库到跑路不是一句笑话,不小心误删除操作很容易造成整个公司业务崩溃.所以真的误删除了,第一时间就是赶紧停机,不要再进行任何写入操作,把这块磁盘挂载到其他机器进行数据恢复 这里我们介绍一下使用 LIN ...

  7. 数据恢复-extundelete

    http://extundelete.sourceforge.net/options.html 误删除/usr/share目录因此考虑恢复目录过程如下:1.选用extundelete软件来进行恢复,源 ...

  8. 数据恢复软件extundelete介绍

    linux下文件系统一般由文件名.Inode.Block三部分组成.当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的inode,看该用户是否具有访问这个文件的权限.如果有, ...

  9. 数据恢复软Extundelete

    1>概述  作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何              快速.有效地恢复数 ...

随机推荐

  1. tomcat之过滤器

    过滤器是一种特殊的servlet,也需要在配置文件中进行配置,通过它可以将指定的请求拦截下来,之后对请求处理,处理完之后,将拦截请求放行.实现过滤器也需要实现一个接口叫javax. servlet.F ...

  2. gitIgnore说明

    有些内容不需要提交到git服务器上,这时我们可以配置.gitIgnore文件.可参考:https://www.cnblogs.com/kevingrace/p/5690241.html 可能有时候你会 ...

  3. Easyui datagrid 数据表格 表格列头右键菜单选择展示列 JS

    Easyui ,数据表格加载出来以后,在表格头右键,会有显示筛选的功能: 如图: 然后可以取消勾选,就变成下面这个样子: 功能的实现是通过重写了easyui 的 $.fn.datagrid.defau ...

  4. centos7安装mysql8

    1.检查系统是否有安装mysql或mariadb,如果有则删除 2.yum localinstall https://repo.mysql.com//mysql80-community-release ...

  5. Python request SSL证书问题

    错误信息如下: 1 requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_s ...

  6. fiddler 安装证书问题,和安装完后,浏览器无法访问问题

    安装证书问题 https://blog.csdn.net/l1336037686/article/details/78322014 浏览器无法访问问题 https://blog.csdn.net/u0 ...

  7. spring框架学习之--数据库操作增删改查

    基于spring的NamedParameterJdbcTemplate操作数据库 首先在 resources 文件夹下添加数据库配置文件jdbc.properties 配置常用的数据库信息 consu ...

  8. 2016(4)数据库系统,ER模型,规范化理论,并发控制

    试题四(共25分) 阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3. 某航空公司要开发一个订票信息处理系统,以方便各个代理商销售机票.开发小组经过设计,给出该系统的部分关系模式如下: 航班 ...

  9. Google搜索中的突变XSS-JavaScript Library Introduced XSS Flaw in Google Search

    前言2018年9月26日,开源Closure库(最初由谷歌创建并用于谷歌搜索)的一名开发人员创建了一个提交,删除了部分输入过滤.据推测,这是因为开发人员在用户界面设计方面出现了问题.但此次提交的开发人 ...

  10. Mac下vim7.4+vimgdb让vim支持gdb源码调试

    下载vimgdb https://github.com/cpiger/vimgdb-for-vim7.4 下载vim7.4源码 将两个文件或者文件夹放到同一个目录解压 tar xjvf vim-7.4 ...