数据恢复软件extundelete介绍
作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速、有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几个数据恢复工具。
一、如何使用“rm -rf”命令
在Linux系统下,通过命令“rm -rf”可以将任何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站类似的功能,也就意味着,数据在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重。在使用rm命令的时候,比较稳妥的方法是把命令参数放到后面,这样有一个提醒的作用。其实还有一个方法,那就是将要删除的东西通过mv命令移动到系统下的/tmp目录下,然后写个脚本定期执行清除操作,这样做可以在一定程度上降低误删除数据的危险性。
其实保证数据安全最好的方法是做好备份,虽然备份不是万能的,但是没有备份是万万不行的。任何数据恢复工具都有一定局限性,都不能保证完整地恢复出所有数据,因此,把备份作为核心,把数据恢复工具作为辅助是运维人员必须坚持的一个准则。
二、extundelete与ext3grep的异同
在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大,本文重点介绍extundelete的使用。
三、
......
File name | Inode number | Deleted status
. 2
.. 2
lost+found 11 Deleted
passwd 49153 Deleted
test 425985 Deleted
ganglia-3.4.0 245761 Deleted
根据上面的输出,标记为Deleted状态的是已经删除的文件或目录。同时还可以看到每个已删除文件的inode值,接下来就可以恢复文件了。
4.恢复单个文件
执行如下命令开始恢复文件:
[root@cloud1 /]# extundelete /dev/sdc1 --restore-file passwd 或 /passwd
Loading filesystem metadata ... 40 groups loaded.
Loading journal descriptors ... 54 descriptors loaded.
Successfully restored file passwd
[root@cloud1 /]# cd RECOVERED_FILES/
[root@cloud1 RECOVERED_FILES]# ls
passwd
[root@cloud1 RECOVERED_FILES]# md5sum passwd
0715baf8f17a6c51be63b1c5c0fbe8c5 passwd
extundelete恢复单个文件的参数是“--restore-file”,这里需要注意的是,“--restore-file”后面指定的是恢复文件路径,这个路径是被恢复文件所在分区的相对路径。相对路径是相对于原来文件的存储路径而言的,比如,原来文件的存储路径是/data/passwd,那么在参数后面直接指定passwd文件即可,如果原来文件的存储路径是/data/test/mytest.txt,那么在参数后面通过“test/mytest.txt”指定即可。(即每个分区的第一级目录即为分区根目录 "/", 其 inode 固定为 2)
在文件恢复成功后,extundelete命令默认会在执行命令的当前目录下创建一个RECOVERED_FILES目录,此目录用于存放恢复出来的文件,所以执行extundelete命令的当前目录必须是可写的。
根据上面的输出,通过md5sum命令校验,校验码与之前的完全一致,表明文件恢复成功。
6.2通过extundelete恢复单个目录
extundelete除了支持恢复单个文件,也支持恢复单个目录,在需要恢复目录时,通过 “--restore-directory”选项即可恢复指定目录的所有数据。
继续在上面模拟的误删除数据环境下操作,现在要恢复/data目录下的ganglia-3.4.0文件夹,操作如下:
[root@cloud1 mnt]# extundelete /dev/sdc1 --restore-directory /ganglia-3.4.0
Loading filesystem metadata ... 40 groups loaded.
Loading journal descriptors ... 247 descriptors loaded.
Searching for recoverable inodes in directory /ganglia-3.4.0 ...
781 recoverable inodes found.
Looking through the directory structure for deleted files ...
4 recoverable inodes still lost.
[root@cloud1 mnt]# ls
RECOVERED_FILES
[root@cloud1 mnt]# cd RECOVERED_FILES/
[root@cloud1 RECOVERED_FILES]# ls
ganglia-3.4.0
可以看到之前删除的目录ganglia-3.4.0已经成功恢复了,进入这个目录检查发现:所有文件内容和大小都正常。
6.3 通过extundelete恢复所有误删除数据
当需要恢复的数据较多时,一个个地指定文件或目录将是一个非常繁重和耗时的工作,不过,extundelete考虑到了这点,此时可以通过“--restore-all”选项来恢复所有被删除的文件或文件夹。
仍然在上面模拟的误删除数据环境下操作,现在要恢复/data目录下所有数据,操作过程如下:
[root@cloud1 mnt]# extundelete /dev/sdc1 --restore-all
Loading filesystem metadata ... 40 groups loaded.
Loading journal descriptors ... 247 descriptors loaded.
Searching for recoverable inodes in directory / ...
781 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.
[root@cloud1 mnt]# ls
RECOVERED_FILES
[root@cloud1 mnt]# cd RECOVERED_FILES/
[root@cloud1 RECOVERED_FILES]# ls
ganglia-3.4.0 passwd test
[root@cloud1 RECOVERED_FILES]# du -sh /mnt/RECOVERED_FILES/*
15M /mnt/RECOVERED_FILES/ganglia-3.4.0
4.0K /mnt/RECOVERED_FILES/passwd
8.0K /mnt/RECOVERED_FILES/test
可以看到所有数据全部完整地恢复了。
6.4通过extundelete恢复某个时间段的数据
有时候删除了大量的数据量,其中很多数据都是没用的,我们仅需要恢复其中的一部分数据,此时,如果采用恢复全部数据的办法,不但耗时,而且浪费资源,在这种情况下,就需要采用另外的一种恢复机制有选择地恢复,extundelete提供了“—after”“和”--before“参数,可以通过指定某个时间段,进而只恢复这个时间段内的数据。
下面通过一个简单示例,描述下如何恢复某个时间段内的数据。
我们首先假定在/data目录下有个刚刚创建的压缩文件ganglia-3.4.0.tar.gz,然后删除此文件,接着卸载/data分区,开始恢复一小时内的文件,操作如下:
[root@cloud1 ~]#cd /data/
[root@cloud1 data]# cp /app/ganglia-3.4.0.tar.gz /data
[root@cloud1 data]# date +%s
1379150309
[root@cloud1 data]# rm -rf ganglia-3.4.0.tar.gz
[root@cloud1 data]# cd /mnt
[root@cloud1 mnt]# umount /data
[root@cloud1 mnt]# date +%s
1379150340
[root@cloud1 mnt]# extundelete --after 1379146740 --restore-all /dev/sdc1
Only show and process deleted entries if they are deleted on or after 1379146740 and before 9223372036854775807.
Loading filesystem metadata ... 40 groups loaded.
Loading journal descriptors ... 247 descriptors loaded.
Searching for recoverable inodes in directory / ...
779 recoverable inodes found.
[root@cloud1 mnt]# cd RECOVERED_FILES/
[root@cloud1 RECOVERED_FILES]# ls
ganglia-3.4.0.tar.gz
可以看到,刚才删除的文件,已经成功恢复,而在/data目录下还有很多被删除的文件却没有恢复,这就是”--after“参数控制的结果,因为/data目录下其他文件都是在一天之前删除的,而我们恢复的是一个小时之内被删除的文件,这就是没有恢复其他被删除文件的原因。
在这个操作过程中,需要注意是“--after”参数后面跟的时间是个总秒数。起算时间为“1970-01-01 00:00:00 UTC”,通过“date +%s”命令即可将当前时间转换为总秒数,因为恢复的是一个小时之内的数据,所以“1379146740”这个值就是通过“1379150340”减去“60*60=3600”获得的
数据恢复软件extundelete介绍的更多相关文章
- 数据恢复软件Extundelete
数据恢复软件Extundelete介绍 一.概述 作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎重和细心,但是有时也难免发生出现数据被误删除的情况,这个时候该如何快速.有效地恢 ...
- Linux下高效数据恢复软件extundelete应用实战
作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几 ...
- Linux下数据恢复软件extundelete
extundelete软件专门解决意外删除事件的,有时候不小心 rm -rf * 就可能毁掉有用的数据.因此就出现了这个恢复工具,但这个工具也不是万能的,删除数据后一定要停止所以的写操作.以免Inod ...
- [原创汉化] 价值990美元的顶级专业数据恢复软件O&O DiskRecovery 11(技术员版)汉化绿色版
百度没搜索到11有汉化版的,有空就把它汉化了,大部分借鉴的是以前汉化版的词条.另外,顺便做了个二合一的单文件版给有需要的朋友. 运行环境: 可用于 Windows 2000/XP/2003/Vista ...
- 【优惠&正版】超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版)
[优惠&正版]超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版) 这个软件的数据恢复效果非常好,在全世界数据恢复软件内是数一数二的. 下载地址 ...
- Hawk 2. 软件界面介绍
2. 软件界面介绍 1. 基本组件 Hawk采用类似Visual Studio和Eclipse的Dock风格,所有的组件都可以悬停和切换.包括以下核心组件: 左上角区域:主要工作区,任务管理. 下方: ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- 转:主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Undelete 360
转自:Baidu 空间 2012-10-05 13:57 主流数据恢复软件——EasyRecovery/Ashampoo Undeleter/Wise Data Recovery/Recuva/Und ...
- 数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据,解决图片恢复后打不开的问题
数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据.解决图片恢复后打不开的问题. 用过非常多数据恢复软件.最早EasyRecovery pro.恢复过U盘.手机SD卡,硬盘数据.但如今下载不了最新版 ...
随机推荐
- 教你如何阅读Oracle数据库官方文档
< Ask Oracle官方原创 > Oracle 官方文档 数量庞大,而且往往没有侧重点,让oracle新手看起来很费力.但是,仍有很多Oracle使用者认为任何oracle学习资料都比 ...
- 在浏览器中输入一个URL后都发生了什么
这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的.以下是一个大概流程: 浏览器向DNS服务器查找输入URL对应的IP地址. DNS服务器返回网站的IP ...
- python版 google密码认证器
#!/usr/bin/env python # -*- coding:utf-8 -*- import hmac, base64, struct, hashlib, time def calGoogl ...
- Windows网络编程经验小结
转自:CSDN网友的强贴,其ID:gdy119 (夜风微凉) 1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而 ...
- 这些 .Net and Core 相关的开源项目,你都知道吗?(持续更新中...)
最近更新时间2017-12-28 序列化 Json.NET http://json.codeplex.com/Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Ne ...
- Linux 后台进程管理
fg.bg.jobs.&.ctrl + z命令一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &,二.ctrl + z可以将一个正在前台执行的命令放到后台 ...
- python之BeautifulSoup4的例子
仅作演示用 from bs4 import BeautifulSoup import urllib.request webfile = urllib.request.urlopen('http://w ...
- java Map实例
此段资料在自于<黑马程序员_毕向东_Java基础视频教程第16天-06-集合(Map练习)> HashMap 如果对象可能会产生很多对象,可能就会需要存储,就有可能会存到hashSet(哈 ...
- HA 部署wordpress
前提: 1.保证免密认证ssh 2.NTP时间是否同步: 3.保证防火墙,selinux关闭: 4.用户名互相能够解析:在hosts文件设置: 环境: 系统:centos6.8和centos7.2 I ...
- jmeter监控服务器的方法
先下载Jmeter资源监控插件,我的百度云jmeter视频里面有说. 地址如下: JMeterPlugins-Standard-1.3.1.zip 下载 https://jmeter-plugins ...