阿里云
发表主题 回复主题
  • 9918阅读
  • 10回复

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

级别: 攻城狮
发帖
518
云币
283
— 本帖被 ivmmff 从 云服务器ECS 移动到本区(2015-08-31) —
Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以恢复rm –rf误删除的文件 ;6*$!^*w  
aO* v"^oF  
G1wJ]ar  
一、ext3grep的原理: iO}KERfU  
利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用ROOT的inode来获取文件系统中所有的文件信息,包括存在的或已删除的文件,这些信息包括文件名、inode号、然后利用inode结合系统日志去查询该inode所在的block位置,包括直接、间接块的信息,最后用dd命令来将数据信息备份出来,从而恢复数据! Gl9 ,!"A  
当发现文件被误删除后,首先做的第一件事就是马上卸载该文件所在的分区,或者以只读的方式挂载该分区,原因是文件被删除后,文件内的数据还保留在磁盘上,除非系统将这些数据所在的块分配出去了,要不然一直都会存在,所以为了保险,首先做的事就是卸载文件所在的分区, P3TM5  
至于根分区的话,可以重启系统,然后以单用户模式进入系统,以只读的方式挂载根分区: <BK?@Xy  
mount –o ro,remount / Z5[g[Q  
VBK|*Tl  
i\kDb=  
二、ext3grep安装 k!d<2Qp W  
在安装之前首先检查一下系统是否已安装e2fsprogs相关软件,如果没有需要下载安装,要不然安装ext3greep时会报错! 2Vx x  
[root@localhost ~]# rpm -qa|grep e2fs RJdijj  
e2fsprogs-devel-1.39-23.el5_5.1 ,Eo\(j2F.  
e2fsprogs-libs-1.39-23.el5_5.1 2g;Id.i>  
e2fsprogs-1.39-23.el5_5.1 rW`l1yi*$  
e2fsprogs-libs-1.39-23.el5_5.1 'AZxR4W  
可以从网上下载ext3grep源码包: &a'LOq+r'  
wget http://code.google.com/p/ext3grep/downloads/detail?name=ext3grep-0.10.2.tar.gz Ka$lNL3<j  
解压、编译、安装 }|l7SFst  
tar zxf ext3grep-0.10.2.tar.gz %Hu.FS5'  
cd  ext3grep-0.10.2 {5c]\{O?[  
./configure –prefix=/usr/local/ext3grep \og2\Oh&gH  
make ]N:Wt2  
make install p Moza8  
T[2<_nn=  
  三、利用ext3grep恢复rm –rf删除的数据 Q|G|5X  
首先我们模拟一个磁盘分区,创建一个虚拟设备 \ !IEZ  
[root@localhost ~]# mkdir /disk 创建挂载点 vILgM\or  
[root@localhost ~]# mkdir /virtual SUD~@]N1  
[root@localhost ~]# dd if=/dev/zero of=/virtual/disk1 conut=102400 _AH_<Z(  
[root@localhost ~]# mkfs -t ext3 /vittual/disk1 Q<(aU{  
[root@localhost ~]# mount -o loop /virtual/disk1 /disk 2%) ~E50U  
[root@localhost ~]# echo “this is a ext3grep test,thank you” >/disk/ext3grep-test.txt {d> 6*b  
用rm –rf 删除刚才创建的文件 JX`>N(K4\  
rm –rf /disk/* !wKiMgLS  
然后查看确认文件已被删除 *E-MJCv  
3V<c4'O\W  
四、用ext3grep恢复被删除的文件 kB=5=#s  
创建一个专门用来存放被恢复文件的目录 ,Qj\_vr@  
mkdir restore =`l><  
cd restore Z 4c^6v  
^!x qOp!  
五、恢复文件的过程 ^cuH\&&7  
在刚创建的restore目录下执行 Hro)m"  
查看被删除的文件信息 W >|'4y)  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --ls --inode 2 }6*JX\'q  
           .-- File type in dir_entry (r=regular file, d=directory, l=symlink) aj-:JTf  
          |          .-- D: Deleted ; R: Reallocated #hXuGBZEI  
Indx Next |  Inode   | Deletion time                        Mode        File name @.pr}S/  
==========+==========+----------------data-from-inode------+-----------+========= 61*b|.sl'#  
   0    1 d       2                                         drwxr-xr-x  . }TDq7-(g  
   1  end d       2                                         drwxr-xr-x  .. AOx8OiqE:  
   2  end d      11  D 1340620814 Mon Jun 25 18:40:14 2012  drwx------  lost+found %cASk>^i  
   3  end r      12  D 1340620814 Mon Jun 25 18:40:14 2012  rrw-r--r--  ext3grep-test.txt *=77|Dba  
开始恢复 pE$*[IvQ'  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --restore-file ext3grep-test.txt wkT4R\H>  
Running ext3grep version 0.10.2 Pt'=_^Io  
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is. 0\+$j5;  
Number of groups: 7 4thPR}DH}  
Minimum / maximum journal block: 16616 / 20729 %m$t'?  
Loading journal descriptors... sorting... done Me^L%%: @  
The oldest inode block that is still in the journal, appears to be from 1340620763 = Mon Jun 25 18:39:23 2012 A[f `xE  
Number of descriptors in journal: 20; min / max sequence numbers: 2 / 5 z]j_,3Hff  
Writing output to directory RESTORED_FILES/ n%s$!R- \  
Loading disk.ext3grep.stage2... done ZT+{8,  
Restoring ext3grep-test.txt Ah zV?6e  
由上面的输出可以得知,ext3grep-test.txt文件已经恢复成功,在当前目录下生成一个RESTORED_FILES目录,恢复过后的文件就放在那里。 {7Kl #b  
[root@localhost RESTORED_FILES]# ls ""jl  
ext3grep-test.txt 8_3WCbe/  
lT'V=,Y t  
9W j9=  
总结:此工具虽然能够恢复被rm –rf 命令删除的文件,但是做为一个系统管理人员应该在脑海中每时每刻都应该有一个备份数据的概念,毕竟备份才是王道! dCzS f4:  
V_KHVul  
%@%~<U)W  
附加美女贴图一张。看帖不回的木有小JJ ~ #*G}v%Ow/u  
bLUyZ3m!  
本帖最近评分记录: 2 条评分 云币 +2
林林林林 云币 +1 欢迎进行技术分享,感谢你的支持! 2014-08-30
西贝庄 云币 +1 优秀文章-欢迎进行技术分享,感谢你的支持! 2014-08-20
级别: 总版主
发帖
7054
云币
15523

只看该作者 沙发  发表于: 2014-08-15
我来看美女的
本帖最近评分记录: 1 条评分 云币 +4
holdb 云币 +4 你懂的! 2014-08-16
级别: 帮帮团
发帖
635
云币
871
只看该作者 板凳  发表于: 2014-08-16
    
级别: 码农
发帖
101
云币
49
只看该作者 地板  发表于: 2014-08-20
美女··
级别: 布道狮
发帖
2409
云币
10325
只看该作者 4楼 发表于: 2014-08-20
优秀文章-欢迎进行技术分享,感谢你的支持!
级别: 帮帮团
发帖
488
云币
431
只看该作者 5楼 发表于: 2014-08-20
我是为这张图顶的
级别: 码农
发帖
266
云币
106
只看该作者 6楼 发表于: 2014-08-20
回 1楼(梦丫头) 的帖子
美女在哪里? |O+>#  
%aE7id>v6  
^1yTL5#:Vw  
PS:“免费”网站自动备份工具,多备份,点我签名就是啦!Mysql、Sql server数据库都可以自动备份哟! 3nC#$L-   
级别: 技术砖家
发帖
1925
云币
3578
只看该作者 7楼 发表于: 2014-08-30
欢迎进行技术分享,感谢你的支持!
级别: 小白
发帖
6
云币
6
只看该作者 8楼 发表于: 2014-12-30
Relinux教程如何恢复rmrf误删除的文件
。。。。。
级别: 新人
发帖
3
云币
3
只看该作者 9楼 发表于: 2015-07-20
Relinux教程-如何恢复rmrf误删除的文件
真是好东西 7^ 4jcfJH  
级别: 新人
发帖
2
云币
3
只看该作者 10楼 发表于: 05-31
Relinux教程-如何恢复rmrf 误删除的文件
看看美女
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个