架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8336|回复: 0

[linux] linux教程-如何恢复rm -rf 误删除的文件

[复制链接]
发表于 2015-8-4 20:36:05 | 显示全部楼层 |阅读模式
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/ext3gre ... 3grep-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 descrip去掉tors... 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 descrip去掉tors 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 命令删除的文件,但是做为一个系统管理人员应该在脑海中每时每刻都应该有一个备份数据的概念,毕竟备份才是王道!

207_1527184530112836_83795eb7c277604.jpg
附加美女贴图一张。




上一篇:iQQ 使用Java语言跨平台开发,跨平台的QQ
下一篇:my97日期控件(很强大哦,有关时间日期的项目必备)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 01:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表