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

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

级别: 攻城狮
发帖
518
云币
284
— 本帖被 ivmmff 从 云服务器ECS 移动到本区(2015-08-31) —
Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以恢复rm –rf误删除的文件 OH w6#N$\  
vI@8DWs  
JiR|+6"7  
一、ext3grep的原理: rIb{=';  
利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用ROOT的inode来获取文件系统中所有的文件信息,包括存在的或已删除的文件,这些信息包括文件名、inode号、然后利用inode结合系统日志去查询该inode所在的block位置,包括直接、间接块的信息,最后用dd命令来将数据信息备份出来,从而恢复数据! '4rgIs3=x"  
当发现文件被误删除后,首先做的第一件事就是马上卸载该文件所在的分区,或者以只读的方式挂载该分区,原因是文件被删除后,文件内的数据还保留在磁盘上,除非系统将这些数据所在的块分配出去了,要不然一直都会存在,所以为了保险,首先做的事就是卸载文件所在的分区, cg5DyQ(  
至于根分区的话,可以重启系统,然后以单用户模式进入系统,以只读的方式挂载根分区: ITV}f#  
mount –o ro,remount / vY6|V$  
uu>g(q?4II  
5tL6R3  
二、ext3grep安装 .\ZxwD|  
在安装之前首先检查一下系统是否已安装e2fsprogs相关软件,如果没有需要下载安装,要不然安装ext3greep时会报错! YS*t7  
[root@localhost ~]# rpm -qa|grep e2fs {`LV{ !  
e2fsprogs-devel-1.39-23.el5_5.1 R)=<q]Ms  
e2fsprogs-libs-1.39-23.el5_5.1  e(^O8  
e2fsprogs-1.39-23.el5_5.1 sAb|]Q((  
e2fsprogs-libs-1.39-23.el5_5.1 Evc 9k  
可以从网上下载ext3grep源码包: `xSXGI  
wget http://code.google.com/p/ext3grep/downloads/detail?name=ext3grep-0.10.2.tar.gz lQzrf"N'  
解压、编译、安装  ulQE{c[  
tar zxf ext3grep-0.10.2.tar.gz .1@5*xQ5O  
cd  ext3grep-0.10.2 e/6oC~#]  
./configure –prefix=/usr/local/ext3grep P1kd6]s  
make LYX+/@OU2  
make install c1`o3gb  
^6`U0|5mRX  
  三、利用ext3grep恢复rm –rf删除的数据 M@8(h=  
首先我们模拟一个磁盘分区,创建一个虚拟设备 Wg[`H=)Q  
[root@localhost ~]# mkdir /disk 创建挂载点 Ii)TCSt9U?  
[root@localhost ~]# mkdir /virtual _ |; bh  
[root@localhost ~]# dd if=/dev/zero of=/virtual/disk1 conut=102400 yVL~SH|  
[root@localhost ~]# mkfs -t ext3 /vittual/disk1 (n< xoV[e  
[root@localhost ~]# mount -o loop /virtual/disk1 /disk <1y%ch;  
[root@localhost ~]# echo “this is a ext3grep test,thank you” >/disk/ext3grep-test.txt ()r DM@  
用rm –rf 删除刚才创建的文件 Pw")|85  
rm –rf /disk/* ,MLPVDN*D  
然后查看确认文件已被删除 6V)#Yf  
JwO+Dd  
四、用ext3grep恢复被删除的文件 6jn<YR E-  
创建一个专门用来存放被恢复文件的目录 X#J[Nn>  
mkdir restore &(K*TB|Om  
cd restore qG;WX n  
8S0)_L#S  
五、恢复文件的过程 %>f:m!.  
在刚创建的restore目录下执行 *"#>Ov>  
查看被删除的文件信息 6ul34\;  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --ls --inode 2 <Z vG&  
           .-- File type in dir_entry (r=regular file, d=directory, l=symlink) xzy9~))o  
          |          .-- D: Deleted ; R: Reallocated znM"P|A  
Indx Next |  Inode   | Deletion time                        Mode        File name @g{=f55  
==========+==========+----------------data-from-inode------+-----------+========= AIE)q]'Q  
   0    1 d       2                                         drwxr-xr-x  . eC1cE  
   1  end d       2                                         drwxr-xr-x  .. ?0%lB=qQ  
   2  end d      11  D 1340620814 Mon Jun 25 18:40:14 2012  drwx------  lost+found X 6>Pq  
   3  end r      12  D 1340620814 Mon Jun 25 18:40:14 2012  rrw-r--r--  ext3grep-test.txt #i~.wQ $1  
开始恢复 t0wLj}"U  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --restore-file ext3grep-test.txt l_8t[  
Running ext3grep version 0.10.2 F Hv|6zUX  
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is. jtZ@`io  
Number of groups: 7 7c+u+Yet  
Minimum / maximum journal block: 16616 / 20729 5SDHZ?h  
Loading journal descriptors... sorting... done BqR8%F  
The oldest inode block that is still in the journal, appears to be from 1340620763 = Mon Jun 25 18:39:23 2012 6OVAsmE  
Number of descriptors in journal: 20; min / max sequence numbers: 2 / 5 E;h#3 B9  
Writing output to directory RESTORED_FILES/ nOOA5Gz   
Loading disk.ext3grep.stage2... done Jk`A}  
Restoring ext3grep-test.txt e'u 9 SpJ  
由上面的输出可以得知,ext3grep-test.txt文件已经恢复成功,在当前目录下生成一个RESTORED_FILES目录,恢复过后的文件就放在那里。 ;X\!*Loe  
[root@localhost RESTORED_FILES]# ls -0>@jfP^D  
ext3grep-test.txt Xh){W~ -  
u{I)C0  
];IUiS1  
总结:此工具虽然能够恢复被rm –rf 命令删除的文件,但是做为一个系统管理人员应该在脑海中每时每刻都应该有一个备份数据的概念,毕竟备份才是王道! YncY_Hu  
L8!xn&uyP=  
bGDV9su  
附加美女贴图一张。看帖不回的木有小JJ ~ lqu1H&  
w2Pkw'a{  
本帖最近评分记录: 3 条评分 云币 +3
光山居士 云币 +1 阿里云1000元代金券:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ffsbbyn0 09-28
林林林林 云币 +1 欢迎进行技术分享,感谢你的支持! 2014-08-30
西贝庄 云币 +1 优秀文章-欢迎进行技术分享,感谢你的支持! 2014-08-20
级别: 总版主
发帖
7118
云币
15617

只看该作者 沙发  发表于: 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楼(梦丫头) 的帖子
美女在哪里? .5uqc.i"f  
rr,w/[  
^e =G} N^  
PS:“免费”网站自动备份工具,多备份,点我签名就是啦!Mysql、Sql server数据库都可以自动备份哟! 5vg="@O K  
级别: 技术砖家
发帖
1925
云币
3578
只看该作者 7楼 发表于: 2014-08-30
欢迎进行技术分享,感谢你的支持!
级别: 小白
发帖
6
云币
6
只看该作者 8楼 发表于: 2014-12-30
Relinux教程如何恢复rmrf误删除的文件
。。。。。
级别: 新人
发帖
3
云币
3
只看该作者 9楼 发表于: 2015-07-20
Relinux教程-如何恢复rmrf误删除的文件
真是好东西 067c/ c  
级别: 新人
发帖
2
云币
3
只看该作者 10楼 发表于: 05-31
Relinux教程-如何恢复rmrf 误删除的文件
看看美女
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个