Linux误删除文件的恢复


笔者在操作Linux时,由于没有做备份而执行了rm -rf命令。

当时发现该数据是生产数据,比较重要,服务器上也没有做备份。(教训惨痛啊,以后删除前一定要做及时备份)
没有办法,只有想办法进行恢复。
 
注意:要想恢复误删除的数据,第一时间要把分区卸载,不能再进行写操作
(文件被删除后,文件中的数据还存在磁盘上,除非存放这些数据的数据块又被操作系统分配出去了。我们这一步就是尽量降低数据块中数据被覆盖的风险,以提高恢复数据成功的比率。)
 
所以将文件以只读方式重新挂载
mount -o ro,remount /
 
该linux的distribution是Red Hat版本。
查了半天,发现linux 文件分为:ext2及ext3。
其中ext3是可以用一种ext3grep的软件还原的.
去google上下载一个目前的ext3grep-0.10.2
地址http://ext3grep.googlecode.com/files/ext3grep-0.10.2.tar.gz
 
查看分区情况用:df -h
Filesystem    Size    Used    Avail    Use%    Mounted on
/dev/sda1     2.0G   41M    1.8G        3%    /boot
/dev/sdb2     3.9G   2.4G    1.3G     65%    /
 
安装
#wget http://ext3grep.googlecode.com/files/ext3grep-0.10.2.tar.gz
#tar zxvf ext3grep-0.10.2.tar.gz
#cd ext3grep-0.10.2
#./configure
#make && make install
 
安装完毕后,进行数据恢复
 
ext3grep  /dev/sd2 --ls --inode 2
 
ext3grep /dev/sd2 --restore-file st9

相关内容