首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

妈妈再也不用担心我错删重要文件了

linux误删除文件恢复

有没有为自己误删重要文件而后悔过?有没有为找不到恢复工具而痛苦呢?不妨参考一下本文吧。

总的来说,对于Linux下的ext4文件系统,可以利用extundelete工具恢复误删文件;而对于Windows恢复误删除文件,可以参考FinalData和easyrecovery的使用手册。下面来重点看一下Linux下误删文件的恢复。

为了使误删文件能成功恢复,希望铭记Tips:删除文件时,只删除了文件名,文件的数据还在存磁盘中,因此尽量避免磁盘中文件数据被覆盖,就能提高文件恢复的成功率,主要的方法是卸载要恢复文件所在分区或者以只读方式挂载

1、模拟数据丢失找回

先创建个分区,挂载

复制一些数据到/tmp/sdb1 目录下

# rm -rf a hosts passwd

误删完之后要先卸载分区或者以只读的方式挂载,避免数据被覆盖。

# umount /tmp/sdb1

如果误删除的数据目录在/下,服务器就直接断电,把硬盘拔了换到另外一台服务器恢复(关机的话有可能有数据写入把以前的数据覆盖)

2、安装工具和依赖包

1)安装依赖包

# yum install e2fsprogs* -y

2)下载并安装extundelete

从https://sourceforge.net/projects/extundelete/下载extundelete安装包,然后按照如下步骤安装:

3、恢复数据

先利用extundelete工具扫描一下误删文件所在目录的文件信息(包括已删除的文件),其中目录的INODE_NUMBER可以通过ls -i命令查询

# extundelete /dev/sdb1 --inode

先建个目录,用于存放恢复数据

# mkdir test

# cd /test

(1)通过Inode恢复

例如恢复passwd文件,先查看文件的inode: 12

passwd 12 Deleted

# extundelete /dev/sdb1 --restore-indoe 12

# ls

RECOVERED_FILES

# cd RECOVERED_FILES/

# ls

file.12

这个文件就是恢复的passwd文件,可以对比下,两个文件的内容一样或md5值一样,就说明恢复成功。

# diff RECOVERED_FILES/file.12 /etc/passwd

# md5sum passwd /etc/passwd

e49d49a2d84a0524c1765fde1357c4b5 passwd

e49d49a2d84a0524c1765fde1357c4b5 /etc/passwd

(2)通过文件名恢复

# cd /test

# extundelete /dev/sdb1 --restore-file passwd

# cd RECOVERED_FILES/

# ls

file.12 passwd

上面的passwd就是恢复出来的文件,也就是以前的文件名。

(3)恢复某个目录,如目录a下的所有文件

# cd /test

# extundelete /dev/sdb1 --restore-directory a

(4)恢复所有文件

# extundelete /dev/sdb1 --restore-all (还有一个文件没有恢复kong.txt )

注:extundelete 在恢复文件的时候不能恢复创空文件和目录。

吕磊

2018年4月10日

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419A0Z5Z600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券