扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这期内容当中小编将会给大家带来有关企业服务器文件被误删除后如何恢复,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业千山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
用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中已经有系统恢复工具,不再使用外来工具恢复数据了。
上述就是小编为大家分享的企业服务器文件被误删除后如何恢复了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流