用ext3grep恢复rm -rf 误删除的文件

Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以恢复rm –rf误删除的文件

一、ext3grep的原理:

利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用root的inode来获取文件系统中所有的文件信息,包括存在的或已删除的文件,这些信息包括文件名、inode号、然后利用inode结合系统日志去查询该inode所在的block位置,包括直接、间接块的信息,最后用dd命令来将数据信息备份出来,从而恢复数据!

当发现文件被误删除后,首先做的第一件事就是马上卸载该文件所在的分区,或者以只读的方式挂载该分区,原因是文件被删除后,文件内的数据还保留在磁盘上,除非系统将这些数据所在的块分配出去了,要不然一直都会存在,所以为了保险,首先做的事就是卸载文件所在的分区,

至于根分区的话,可以重启系统,然后以单用户模式进入系统,以只读的方式挂载根分区:

mount –o ro,remount /

二、ext3grep安装

在安装之前首先检查一下系统是否已安装e2fsprogs相关软件,如果没有需要下载安装,要不然安装ext3greep时会报错!

[root@localhost ~]# rpm -qa|grep e2fs

e2fsprogs-devel-1.39-23.el5_5.1

e2fsprogs-libs-1.39-23.el5_5.1

e2fsprogs-1.39-23.el5_5.1

e2fsprogs-libs-1.39-23.el5_5.1

可以从网上下载ext3grep源码包:

wget http://code.google.com/p/ext3grep/downloads/detail?name=ext3grep-0.10.2.tar.gz

解压、编译、安装

tar zxf ext3grep-0.10.2.tar.gz

cd  ext3grep-0.10.2

./configure –prefix=/usr/local/ext3grep

make

make install

三、利用ext3grep恢复rm –rf删除的数据

首先我们模拟一个磁盘分区,创建一个虚拟设备

[root@localhost ~]# mkdir /disk 创建挂载点

[root@localhost ~]# mkdir /virtual

[root@localhost ~]# dd if=/dev/zero of=/virtual/disk1 conut=102400

[root@localhost ~]# mkfs -t ext3 /vittual/disk1

[root@localhost ~]# mount -o loop /virtual/disk1 /disk

[root@localhost ~]# echo “this is a ext3grep test,thank you” >/disk/ext3grep-test.txt

用rm –rf 删除刚才创建的文件

rm –rf /disk/*

然后查看确认文件已被删除

三、用ext3grep恢复被删除的文件

创建一个专门用来存放被恢复文件的目录

mkdir restore

cd restore

四、恢复文件的过程

在刚创建的restore目录下执行

查看被删除的文件信息

[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --ls --inode 2

.-- File type in dir_entry (r=regular file, d=directory, l=symlink)

|          .-- D: Deleted ; R: Reallocated

Indx Next |  Inode   | Deletion time                        Mode        File name

==========+==========+----------------data-from-inode------+-----------+=========

0    1 d       2                                         drwxr-xr-x  .

1  end d       2                                         drwxr-xr-x  ..

2  end d      11  D 1340620814 Mon Jun 25 18:40:14 2012  drwx------  lost+found

3  end r      12  D 1340620814 Mon Jun 25 18:40:14 2012  rrw-r--r--  ext3grep-test.txt

开始恢复

[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --restore-file ext3grep-test.txt

Running ext3grep version 0.10.2

WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.

Number of groups: 7

Minimum / maximum journal block: 16616 / 20729

Loading journal descriptors... sorting... done

The oldest inode block that is still in the journal, appears to be from 1340620763 = Mon Jun 25 18:39:23 2012

Number of descriptors in journal: 20; min / max sequence numbers: 2 / 5

Writing output to directory RESTORED_FILES/

Loading disk.ext3grep.stage2... done

Restoring ext3grep-test.txt

由上面的输出可以得知,ext3grep-test.txt文件已经恢复成功,在当前目录下生成一个RESTORED_FILES目录,恢复过后的文件就放在那里。

[root@localhost RESTORED_FILES]# ls

ext3grep-test.txt

总结:此工具虽然能够恢复被rm –rf 命令删除的文件,但是做为一个系统管理人员应该在脑海中每时每刻都应该有一个备份数据的概念,毕竟备份才是王道!

当然rhel7中已经有系统恢复工具,不再使用外来工具恢复数据了。

企业服务器文件被误删除后如何恢复相关推荐

  1. Oracle 11g 数据恢复 数据误删除后的恢复 0、执行 select log_mode from v$database;查看是否为归档模式 1、确定删除时间和被删除的表 04-23,GR

    Oracle 11g 数据恢复 数据误删除后的恢复 0.执行 select log_mode  from v$database;查看是否为归档模式 1.确定删除时间和被删除的表 04-23,GRDA0 ...

  2. linux误删表空间文件,UNDO表空间下的数据文件被误删除后的处理方法

    UNDO表空间下的数据文件被误删除后的处理方法: 操作前备份数据库,以避免更大的损失. 思路: 1.把误删除的数据文件offline 2.正常打开数据库后创建新的UNDO表空间及数据文件 3.修改相应 ...

  3. 华为服务器上传文件后怎么通过链接查看,远程服务器文件上传后的操作

    远程服务器文件上传后的操作 内容精选 换一换 本节指导您基于Linux操作系统环境完成镜像文件快速导入,推荐使用云平台的EulerOS云服务器作为转换镜像格式和生成位表文件的环境.Linux操作系统环 ...

  4. 电脑文件被删除后如何恢复

    电脑文件被删除后如何恢复 电脑是人类现代史上最伟大的技术发明之一.它的出现和广泛应用把人类从繁重的脑力劳动中解放出来,在社会各个领域中提高了信息的收集.处理和传播的速度与准确性,直接加快了人类向信息化 ...

  5. 用户变量tmp修改了怎么恢复_Linux系统中文件被删除后的恢复方法(ext4)

    本文档给出了恢复ext4文件系统被误删的文件的方法,需要使用的软件是extundelete,这款软件对ext4文件系统的恢复成功率比较高,值得拥有! [root@localhost ~]# rm -R ...

  6. Linux系统中文件被删除后的恢复方法(ext4)

    本文档给出了恢复ext4文件系统被误删的文件的方法,需要使用的软件是extundelete,这款软件对ext4文件系统的恢复成功率比较高,值得拥有! [root@localhost ~]# rm -R ...

  7. IntelliJ IDEA 项目中文件设置 Excluded 后怎么恢复

    File --Project Structure---Modules---Excluded文件,选择你要恢复的文件,击取消Excluded,然后点击ok就行啦.

  8. 群晖服务器文件架误删除,群晖系统删除文件且清空共享文件夹回收站后空间没有释放解决记录...

    问题描述 剪切文件后,发现空间并没有被释放. 问题原因探索 难道是没有开启回收站的影响? 共享文件夹默认是没有开启回收站功能: 当清空所有回收站发现没有效果,于是创建了一个回收站清空计划: 创建完成后 ...

  9. linux pannel 误删除后的恢复方法

    笔者使用debian作为开发环境, 有一次不小心将最上面的panel 整个删除掉了.现将恢复方法介绍如下: 1,在最下面未删除的panel上点击New Panel ,linux会创建一个panel到桌 ...

最新文章

  1. Python之旅.第十章.mysql
  2. Python必须要掌握的高端语法
  3. IBATIS错误汇总
  4. Java-开源工具类
  5. 前端学习(2604):增加响应头可以获取数据
  6. Moodle: 登记学生,检测学生是否存在在课程 Check if user is enrolled or enroll a user in course...
  7. 吴恩达机器学习 Coursera 笔记(二) - 单变量线性回归...
  8. docker-compose 配置kafka_Docker Compose 引用环境变量
  9. Sharding-JDBC(实现读写分离)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记014
  10. 传感器数据 数据库_丰富的数据,不良的数据:充分利用传感器
  11. 最新柒上网络小说漫画系统双模板源码V4.0+TP内核
  12. 十年前的5.19行情
  13. 小米的过去、现在和未来
  14. 关于打印出来的字符串,最后的逗号改为句号的解决办法
  15. 外卖行业现状分析_2020年中国外卖行业市场现状与发展前景分析
  16. 耿建超英语语法---时态+疑问句
  17. Windows超级管理器
  18. 【数据挖掘】啤酒与尿布
  19. 打造认可文化,是OKR成功的关键
  20. 技术人如何才能不焦虑

热门文章

  1. TCL电视本地升级和强制刷机固件的区别
  2. 华为鸿蒙实装,鸿蒙实装?推特博主爆料华为P40将推出两种系统机型
  3. 微软2017年预科生计划在线编程笔试
  4. 【自动化】初见 - 最强浏览器插件 《油猴Tampermonkey》 开发和发布
  5. 【MEMO】Linux常用命令行
  6. 用Matlab写脚本求解线性方程组,让大家拥有一个线性方程组计算器
  7. 易语言mysql防破解_易语言程序真正防止破J的思路以及解决案例
  8. 中国洋甘菊提取物市场趋势报告、技术动态创新及市场预测
  9. mysql 从库_通过两种方式增加从库——不停止mysql服务
  10. 视频模糊如何转高清?