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

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

级别: 攻城狮
发帖
518
云币
283
— 本帖被 ivmmff 从 云服务器ECS 移动到本区(2015-08-31) —
Linux作为企业级服务器,数据安全性至关重要,任何有价值的数据被误删除都是不能容忍的,甚至可能带来大的灾难!作为linux系统管理员,一定要有数据保护意思,不但要做好数据备份工作,还应该有在将重要数据误删除后恢复的能力.在这里给大家介绍一个开源的数据恢复工具ext3grep,该工具可以恢复rm –rf误删除的文件 VWc)AfKe  
:(iBLO<x  
jyB Ys& v  
一、ext3grep的原理: ( 8X^pL  
利用ext3grep恢复文件并不依赖于任何文件格式,首先ext3grep利用ROOT的inode来获取文件系统中所有的文件信息,包括存在的或已删除的文件,这些信息包括文件名、inode号、然后利用inode结合系统日志去查询该inode所在的block位置,包括直接、间接块的信息,最后用dd命令来将数据信息备份出来,从而恢复数据! H?rCIS0  
当发现文件被误删除后,首先做的第一件事就是马上卸载该文件所在的分区,或者以只读的方式挂载该分区,原因是文件被删除后,文件内的数据还保留在磁盘上,除非系统将这些数据所在的块分配出去了,要不然一直都会存在,所以为了保险,首先做的事就是卸载文件所在的分区, us E%eF]  
至于根分区的话,可以重启系统,然后以单用户模式进入系统,以只读的方式挂载根分区: >a&IFi,j  
mount –o ro,remount / '<s54 Cb  
{isL<  
5>lIrBf  
二、ext3grep安装 >p'{!k  
在安装之前首先检查一下系统是否已安装e2fsprogs相关软件,如果没有需要下载安装,要不然安装ext3greep时会报错! ]T6pH7~  
[root@localhost ~]# rpm -qa|grep e2fs hd]ts.  
e2fsprogs-devel-1.39-23.el5_5.1 FGzKx9I9  
e2fsprogs-libs-1.39-23.el5_5.1 ?:h*=0>  
e2fsprogs-1.39-23.el5_5.1 u 7:Iv  
e2fsprogs-libs-1.39-23.el5_5.1 B77`azwF  
可以从网上下载ext3grep源码包: G\o9mEzQ  
wget http://code.google.com/p/ext3grep/downloads/detail?name=ext3grep-0.10.2.tar.gz ac\([F-  
解压、编译、安装 hI 9q);g  
tar zxf ext3grep-0.10.2.tar.gz jtUqrJFlQ  
cd  ext3grep-0.10.2 3YJ"[$w='(  
./configure –prefix=/usr/local/ext3grep H~^)^6)^T  
make }m'n1tm;  
make install 3I(;c ,S  
C T\@>!'f  
  三、利用ext3grep恢复rm –rf删除的数据 k?$I4&|5Nt  
首先我们模拟一个磁盘分区,创建一个虚拟设备 px*1 3"  
[root@localhost ~]# mkdir /disk 创建挂载点 VFzIBgJ3  
[root@localhost ~]# mkdir /virtual )XHn.>]nc  
[root@localhost ~]# dd if=/dev/zero of=/virtual/disk1 conut=102400 0zE@?.  
[root@localhost ~]# mkfs -t ext3 /vittual/disk1 UOk\fyD2[  
[root@localhost ~]# mount -o loop /virtual/disk1 /disk VZq~ -$  
[root@localhost ~]# echo “this is a ext3grep test,thank you” >/disk/ext3grep-test.txt SZEi+CRs0  
用rm –rf 删除刚才创建的文件 x H&hs$=  
rm –rf /disk/* Nk<^ Qv  
然后查看确认文件已被删除 {0 j_.XZ  
O=;jDWE  
四、用ext3grep恢复被删除的文件 & +*OV:[;  
创建一个专门用来存放被恢复文件的目录 L7d1)mV  
mkdir restore *yaS^k\  
cd restore &!OEd ]  
FJ-H ;  
五、恢复文件的过程 IvT><8<G  
在刚创建的restore目录下执行 vbVOWX6  
查看被删除的文件信息 4l+!Z,b  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --ls --inode 2 NcP/W>lN  
           .-- File type in dir_entry (r=regular file, d=directory, l=symlink) "4;nnq  
          |          .-- D: Deleted ; R: Reallocated 5nUJ9sqA  
Indx Next |  Inode   | Deletion time                        Mode        File name ZZ7qSyBs?  
==========+==========+----------------data-from-inode------+-----------+========= i'7+ ?YL  
   0    1 d       2                                         drwxr-xr-x  . LP=j/qf|  
   1  end d       2                                         drwxr-xr-x  .. '*`#xNu[  
   2  end d      11  D 1340620814 Mon Jun 25 18:40:14 2012  drwx------  lost+found xH xTL>,?  
   3  end r      12  D 1340620814 Mon Jun 25 18:40:14 2012  rrw-r--r--  ext3grep-test.txt #<S*MGp!=  
开始恢复 aL( hWE  
[root@localhost restore]# /usr/local/ext3grep/bin/ext3grep /virtual/disk  --restore-file ext3grep-test.txt QYboX~g~p  
Running ext3grep version 0.10.2 0z8?6~M;<  
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is. w y|^=#k  
Number of groups: 7 d<6F'F^w.7  
Minimum / maximum journal block: 16616 / 20729 NS~;{d \  
Loading journal descriptors... sorting... done Ic9L@2m  
The oldest inode block that is still in the journal, appears to be from 1340620763 = Mon Jun 25 18:39:23 2012 L%T(H<G  
Number of descriptors in journal: 20; min / max sequence numbers: 2 / 5 pA6KiY&  
Writing output to directory RESTORED_FILES/ eHuJFM  
Loading disk.ext3grep.stage2... done ,^1zG  
Restoring ext3grep-test.txt &ASR2J  
由上面的输出可以得知,ext3grep-test.txt文件已经恢复成功,在当前目录下生成一个RESTORED_FILES目录,恢复过后的文件就放在那里。 <Gi%+I@szl  
[root@localhost RESTORED_FILES]# ls :<t=??4m  
ext3grep-test.txt O\ZC$XF  
lL:a}#qxU  
e@Lxduq  
总结:此工具虽然能够恢复被rm –rf 命令删除的文件,但是做为一个系统管理人员应该在脑海中每时每刻都应该有一个备份数据的概念,毕竟备份才是王道! ( Jk& U8y  
n^Ca?|} ,  
x#J9GP.  
附加美女贴图一张。看帖不回的木有小JJ ~ #$I@V4O;#  
z3jk xWAZ  
本帖最近评分记录: 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楼(梦丫头) 的帖子
美女在哪里? SH"<f_  
a_\7Ho$^  
~Sf'bj;(  
PS:“免费”网站自动备份工具,多备份,点我签名就是啦!Mysql、Sql server数据库都可以自动备份哟! -d2)  
级别: 技术砖家
发帖
1925
云币
3578
只看该作者 7楼 发表于: 2014-08-30
欢迎进行技术分享,感谢你的支持!
级别: 小白
发帖
6
云币
6
只看该作者 8楼 发表于: 2014-12-30
Relinux教程如何恢复rmrf误删除的文件
。。。。。
级别: 新人
发帖
3
云币
3
只看该作者 9楼 发表于: 2015-07-20
Relinux教程-如何恢复rmrf误删除的文件
真是好东西 ;5}y7#4C  
级别: 新人
发帖
2
云币
3
只看该作者 10楼 发表于: 05-31
Relinux教程-如何恢复rmrf 误删除的文件
看看美女
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个