linux 下文件恢复工具extundelete介绍

摘要:
下载http://extundelete.sourceforge.net/bunzip2extundelete-0.2.0.tar.bz2tarxvfextundelete-0.2.0.tarcdextundelete-0.2.0makemakeinstall  [ root@yznvm1yzn]#Df文件系统1K块已使用可用%装载点/de

 

 

 
 
下载

http://extundelete.sourceforge.net/

bunzip2 extundelete-0.2.0.tar.bz2

tar xvf extundelete-0.2.0.tar

cd extundelete-0.2.0

make

make install

 

[root@yznvm1 yzn]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda3             18129292   2651744  14541764  16% /
/dev/sda1               194442     12197    172206   7% /boot
tmpfs                   254804         0    254804   0% /dev/shm
/dev/hdc               4149676   4149676         0 100% /mnt/cdrom

 

 

[root@yznvm1 yzn]# extundelete /dev/sda3--restore-file /home/yzn/helloworld/Makefile.am        
WARNING: 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 ... 143 groups loaded.
Loading journal descriptors ... 29535 descriptors loaded.
Writing output to directory RECOVERED_FILES/
Restored inode 4223596 to file RECOVERED_FILES/home/yzn/helloworld/Makefile.am

 

ok,这样就恢复成功了。

当然文件不能保证一定恢复成功,我的另外一个文件恢复出来是乱码,还有一个文件报错找不到inode.

 

 

从名字上就可以看出来本次给大家推荐的是一款ext3/ext4文件系统上找回被删除的文件或者文件夹的工具和之前大家使用的ext3grep差不多。但是此款工具更为简单。此款工具本人未测试 ,还请大家使用过后放出测试截图或者数据

1.安装
此工具依赖两个包 e2fsprogs version 1.41 和e2fslibs  在RH/Centos系列上 名字为e2fsprogs 和 e2fsprogs-libs
下载附件中的文件
# tar -xvf extundelete-0.2.0.tar
# ./configure
# make && make install
好了 安装完毕
2.如何使用
我们使用一个分区/dev/sdb1 挂在在/backup上,建立一个测试目录gnutool-delete 并建立一些文件
# mkdir -p /backup/gnutool-delete
# cd /backup/gnutool-delete
# man man > file1-test.txt
# man man > file2-test.txt
#mkdir folder1; cd folder1; man man > file1-test.txt
现在 删除目录
# rm -rf /backup/gnutool-delete
现在卸载文件系统或者挂载为只读
# umount /backup or mount -o remount,ro /backup
3 我们现在使用extundelete 来找回

extundelete  会在当前目录创建一个“RECOVERED_FILES” 来放修复的文件 使用以下命令找回所有文件
extundelete /dev/sdb1 –restore-all
也可以使用以下命令修复 指定文件
extundelete /dev/sdb1 —-restore-directory /backup/gnutool-delete
4.找回/目录的文件
首先 挂载/分区为只读,准备一个可以读写的分区 我们以/etc/passwd文件为例
# mount -o remount,ro /
# cd /secondarydrive (必须可读可写)
# extundelete / —-restore-files /etc/passwd 
# cd RECOVERED_FILES
# ls
好了 修复完毕


 
 

使用vim时,很讨厌rm命令的提示,每次删除一个文件时,总是提示是否删除,于是就自动将rm命令转换为rm -fr,这会可没有讨厌的提示了。但是问题出现了,无意间的误操作,写了2天的程序就这样被删除了,痛苦不已。

     于是在网上搜索如何恢复文件,虽然最后恢复出来一些重要文件,但是还是一些文件没有恢复出来。赶紧将rm命令改为原来,以免再出错。

     想想也是,rm命令本来就应该谨慎使用,我想vim设计者也是这样认为的,所以每次rm时都会提示使用者,哎,误会大师了。

     在这里把恢复过程写上,以示警惕自己。

     恢复过程其实很简单(针对我自己的情况:vmware6.5 ubuntu 10.04 ext4)

     主要参考该仁兄的文章,2011-01-12写的,比我早一天,我真是很幸运啊/(^o^)/~

     http://hi.baidu.com/godor9/blog/item/c41f95cd6ed23a1193457e4c.html

 

     1. 看你的文件系统类型,是否为ext4

     #parted 接着输入p

     Number  Start   End     Size    Type      File system     Flags
     1      1049kB  22.6GB  22.6GB  primary   ext4            boot
     2      22.6GB  23.6GB  1020MB  extended
     5      22.6GB  23.6GB  1020MB  logical   linux-swap(v1)

 

     2. 如果是ext4,则可以使用extundelete 工具,该工具针对ext3和ext4文件系统

      参考:http://extundelete.sourceforge.net/

      下载最新版本,./configure --prefix=/var/extundelete; make ; make install

       由于担心安装extundelete后会覆盖我删除的文件,所以我安装到/var目录下,configure时出现了一个错误:Can't find ext2fs library,解决方法:sudo apt-get install e2fslibs-dev e2fslibs-dev,然后make,make install即可

     3. 生产可执行文件extundelete后,使用它来恢复删除的文件:

         #./extundelete /dev/sda1 --restore-all

         需要一段时间,把以前删除的文件只要能恢复的全恢复出来,执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件,还包括文件夹哦/(^o^)/~,很方便查找。如果你还记得删除文件中一些内容,直接grep就可以了,很快能找到删除的文件,如果找到的Binary file,那只能杯具了。

 

 

 

      注意:在参考那位仁兄的文章时,并没有进入单用户模式,安装完extundelete后直接运行恢复;也没有umount  /home; 提示umount: /home: not mounted。

免责声明:文章转载自《linux 下文件恢复工具extundelete介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vb socket的使用GIT 的多人协作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

NLog类库使用探索——详解配置

https://www.cnblogs.com/fuchongjundream/p/3936431.html 1 配置文件的位置(Configuration file locations)     通过在启动的时候对一些常用目录的扫描,NLog会尝试使用找到的配置信息进行自动的自我配置。 1.1 单独的*.exe客户端     单独的客户端,NLog将在以...

Gluster的搭建和使用

Gluster的搭建和使用 序言我们为什么要去使用分布式存储,在一家大型公司或者大规模的集群中,大家可能会经常遇到一个问题,我的数据怎么存放,放在那,数据空间不够了怎么办,这些问题经常困扰着我们。 笔者是在电信的一个部门工作的,我们的环境比较复杂。环境有NAS,各种NFS,还有为了高可用搭建的HA上面跑的共享目录,每次我们遇到的一个最大的问题就是,哪哪哪的...

linux使用curl发送http get与post请求

1. curl发送get请求curl http://11.120.12.89:6666/sengMsg?phone=18790987654&name=lily&msg=aaa 注意:有多个参数时需要把&转义一下,否则获取不到之后参数会报错 2. curl发送post请求post请求类型application/x-www-form-...

设置修改CentOS系统时区

一、时区 1. 查看当前时区date -R 2. 修改设置时区方法(1)tzselect方法(2) 仅限于RedHat Linux 和 CentOS系统timeconfig方法(3) 适用于Debiandpkg-reconfigure tzdata3. 复制相应的时区文件,替换CentOS系统时区文件;或者创建链接文件cp /usr/share/zonei...

C#调用java类、jar包方法。

一、将已经编译后的java中Class文件进行打包;打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理; 使用的命令:jar cvf test.jar -C com/ . 其中test.jar为要生成的jar包;com/ . 为指定的当前目录下的文件夹,该文件夹包括子文件夹及class文件; 二、到IKVM官方网站下载IKVM需要的组件 ...

EasyDSS中如何利用FFmpeg对MP4文件进行字幕叠加?

上一篇我们讲了在EasyDSS内可以通过FFmpeg对音视频进行裁剪,那么裁剪后我们又想进行字幕叠加时应该怎么做?其实这个需求也可以通过FFmpeg来满足,我们只需要调用对应的命令就可以了。 在具体教大家怎么叠加字幕之前,先给大家普及一下字幕文件的格式,字幕文件有很多种,常见的有 .srt,.ass 文件等。不同格式的字幕文件也可以相互转换,命令如下:...