您的位置 首页 IOT

Linux下高效数据康复软件extundelete使用实战

作为一名运维人员,保证数据的安全是根本职责,所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何

作为一名运维人员,确保数据的安满是底子责任,所以在保护体系的时分,要慎之又慎,可是有时难免会呈现数据被误删去的状况,在这个时分改怎么快速、有效地康复数据呢?本文咱们就来介绍一下Linux体系下常用的几个数据康复东西。

一、怎么运用“rm -rf”指令

Linux体系下,经过指令“rm -rf”能够将任何数据直接从硬盘删去,而且没有任何提示,一起Linux下也没有与Windows下回收站相似的功用,也就意味着,数据在删去后经过惯例的手法是无法康复的,因而运用这个指令要十分稳重。在运用rm指令的时分,比较保险的办法是把指令参数放到后边,这样有一个提示的效果。其实还有一个办法,那就是即将删去的东西经过mv指令移动到体系下的/tmp目录下,然后写个脚本定时履行铲除操作,这样做能够在必定程度上下降误删去数据的危险性。

其实确保数据安全最好的办法是做好备份,尽管备份不是全能的,可是没有备份是万万不可的。任何数据康复东西都有必定局限性,都不能确保完整地康复出一切数据,因而,把备份作为中心,把数据康复东西作为辅佐是运维人员必须坚持的一个原则。

二、extundelete与ext3grep的异同

在Linux下,根据开源的数据康复东西有许多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个东西的康复原理根本相同,仅仅extundelete功用愈加强壮,本文要点介绍extundelete的运用。

三、extundelete的康复原理

在介绍运用extundelete进行康复数据之前,简略介绍下关于inode的常识。在Linux下能够经过“ls –id”指令来检查某个文件或许目录的inode值,例如检查根目录的inode值,能够输入:

[root@cloud1 ~]# ls -id /

2 /

由此可知,根目录的inode值为2。

在运用extundelete康复文件时并不依靠特定文件格局,首要extundelete会经过文件体系的inode信息(根目录的inode一般为2)来取得当时文件体系下一切文件的信息,包含存在的和现已删去的文件,这些信息包含文件名和inode。然后运用inode信息结合日志去查询该inode地点的block方位,包含直接块,直接块等信息。最终运用dd指令将这些信息备份出来,然后康复数据文件。

四、 装置extundelete

extundelete的官方网站是http://extundelete.sourceforge.net/ ,其现在的稳定版本是extundelete-0.2.4。,在装置extundelete之前需求装置e2fsprogs和e2fsprogs-libs两个依靠包。

e2fsprogs和e2fsprogs-libs装置十分简略,这儿不做介绍。下面是extundelete的编译装置进程:

[root@cloud1 app]#tar jxvf extundelete-0.2.4.tar.bz2

[root@cloud1 app]#cd extundelete-0.2.4

[root@cloud1 extundelete-0.2.4]#./configure

[root@cloud1 extundelete-0.2.4]#make

[root@cloud1 extundelete-0.2.4]#make install

成功装置extundelete后,会在体系中生成一个extundelete可履行文件。extundelete的运用十分简略,读者能够经过“extundelete –help”取得此软件的运用办法。

五、extundelete用法详解

extundelete装置完成后,就能够履行数据康复操作了,本节具体介绍下extundelete每个参数的意义。extundelete用法如下:

extundelete –help

指令格局:

1

extundelete [options] [action] device-file

其间参数(options)有:

–version, -[vV],显现软件版本号。

–help,显现软件协助信息。

–superblock,显现超级块信息。

–journal,显现日志信息。

–after dtime,时刻参数,表明在某段时刻之后被删的文件或目录。

–before dtime,时刻参数,表明在某段时刻之前被删的文件或目录。

动作(action)有:

–inode ino,显现节点“ino”的信息。

–block blk,显现数据块“blk”的信息。

–restore-inode ino[,ino,…],康复指令参数,表明康复节点“ino”的文件,康复的文件会主动放在当时目录下的RESTORED_FILES文件夹中,运用节点编号作为扩展名。

–restore-file ‘path’,康复指令参数,表明将康复指定途径的文件,并把康复的文件放在当时目录下的RECOVERED_FILES目录中。

–restore-files ‘path’,康复指令参数,表明将康复在途径中已列出的一切文件。

–restore-all,康复指令参数,表明将测验康复一切目录和文件。

-j journal,表明从现已命名的文件中读取扩展日志。

-b blocknumber,表明运用之前备份的超级块来翻开文件体系,一般用于检查现有超级块是不是当时所要的文件。

-B blocksize,表明运用数据块巨细来翻开文件体系,一般用于检查现已知道巨细的文件。

六、实战:extundelete康复数据的进程

在数据被误删去后,第一时刻要做的是卸载被删去数据地点的磁盘或磁盘分区,假如是体系根分区的数据遭到误删去,就需求将体系进入单用户,而且将根分区以只读形式挂载。这样做的原因很简略,由于将文件删去后,仅仅是将文件的inode结点中的扇区指针清零,实践文件还存储在磁盘上,假如磁盘以读写形式挂载,这些已删去的文件的数据块就可能被操作体系重新分配出去,在这些数据块被新的数据掩盖后,这些数据就真的丢掉了,康复东西也回力无天。所以,以只读形式挂载磁盘能够尽量下降数据块中数据被掩盖的危险,以进步康复数据成功的比率。

6.1经过extundelete康复单个文件

1.模仿数据误删去环境

在演示经过extundelete康复数据之前,咱们首要要模仿一个数据误删去环境,这儿咱们以ext3文件体系为例,在ext4文件体系下的康复方法与此彻底相同。简略的模仿操作进程如下:

[root@cloud1 ~]#mkdir /data

[root@cloud1 ~]#mkfs.ext3 /dev/sdc1

[root@cloud1 ~]#mount /dev/sdc1 /data

[root@cloud1 ~]# cp /etc/passwd /data

[root@cloud1 ~]# cp -r /app/ganglia-3.4.0 /data

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/323104.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部