前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

作者头像
863987322
发布2018-01-24 14:45:14
5K0
发布2018-01-24 14:45:14
举报
文章被收录于专栏:Linux运维学习之路

1、下载extundelete包,安装依赖

我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel。

代码语言:javascript
复制
yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel

然后下载extundelete程序

下载地址: http://extundelete.sourceforge.net/

2、编译安装extundelete

代码语言:javascript
复制
编译步骤:
tar xjf extundelete-0.2.4.tar.bz2 
cd extundelete-0.2.4
./configure 
make && make install 

extundelete的用法,可以通过help查看详细!

extundelete软件恢复原理

extundelete恢复数据的过程:在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据成功的比例。

3、卸载需要恢复文件的分区

代码语言:javascript
复制
fuser -k /mnt/test/
umount /mnt/test

4、使用extundelete查看分区上存在的文件

并通过执行extundelete命令查询/dev/sdb1分区可恢复的数据信息

代码语言:javascript
复制
extundelete --inode 2 /dev/sdb1     

恢复文件例子

代码语言:javascript
复制
例如获得被删文件inode为13 恢复:
extundelete --restore-inode 13 /dev/sdb1 
mount /dev/sdb1 /mnt/test/
mv RECOVERED_FILES/file.13 /mnt/test/resolv.conf      恢复完成,可用cat验证内容。

恢复单个文件:extundelete  /dev/sdb1 --restore-file passwd       会在当前目录下生成一个RECOVERED_FILES目录,里面保存已经恢复的文件。

恢复单个目录:extundelete  /dev/sdb1 --restore-directory  /mongodb

恢复所有误删文件:extundelete  /dev/sdb1 --restore-allextundelete

还可以实现恢复某个时间段的数据。可以通过“--after”和“--before”参数实现!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、下载extundelete包,安装依赖
  • 2、编译安装extundelete
    • extundelete软件恢复原理
    • 3、卸载需要恢复文件的分区
    • 4、使用extundelete查看分区上存在的文件
      • 恢复文件例子
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档