Linux 误删文件找回

天锦 发表于 Linux下的N种作死方法 分类,标签:

俗话说常在河边走那有不湿鞋的时候,终于我也遭了……不过还好,我并不是执行了rm -rf /的命令,而是通过SMB共享在Windows平台上误删了一个设计文件。所以我这次是要找回一个刚刚删除的、目标很明确的文件,相对来说还是比较容易的。

首先第一步,也是最重要的一步,停掉相关服务,抓紧时间unmount磁盘,防止不必要的二次写入伤及文件。

接着就是用相应的文件恢复工具找丢失的文件了。Linux自带了debugfs,但是我用的是EXT4文件系统,好像并不能用debugfs来找回文件,最终还是用extundelete找回了文件。

先到这里下载源文件http://extundelete.sourceforge.net/

然后是解压make三板斧

[root@web ~]# tar -xjvf extundelete-0.2.4.tar.bz2
[root@web ~]# cd extundelete-0.2.4
[root@web ~/extundelete-0.2.4]# ./configure
[root@web ~/extundelete-0.2.4]# make
[root@web ~/extundelete-0.2.4]# make install

安装之后就是执行extundelete来找回文件了,我这里文件在sda1上面的,使用 --restore-file命令指定要找回的文件,注意文件路径是相对这个磁盘分区的,不是带/根目录的绝对路径,而且开头不能有“/”

[root@web ~/extundelete-0.2.4]# extundelete /dev/sda1  --restore-file myfiles/uploads/MyDesigns/first.brd

很幸运,文件没有被覆写,找回来了

NOTICE: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 
y
Loading filesystem metadata ... 800 groups loaded.
Loading journal descriptors ... 29038 descriptors loaded.
Successfully restored file myfiles/uploads/MyDesigns/first.brd

这个找回的文件将会存储在当前目录下的RECOVERED_FILES目录中。

0 篇评论

发表我的评论