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