CentOS系统中,当误删除了文件后,进行以下几步操来恢复文件。
1、关掉所有的服务
当发现误删除文件时,为了尽可能的恢复数据,先要关掉所有的正在进行的服务,不要再进行数据的写入,要不然恢复的概率那就低了。我们可以直接
#killall进程名
或者
#kill-9pid
然后把误删除的文件所在分区,重新挂载成只读的
#mount-oro/dev/sdb/data/
2、安装extundelete工具
#yuminstall-ye2fsprogs*//安装依赖包
#wgethttp://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
#tar-jxvfextundelete-0.2.4.tar.bz2
#cdextundelete-0.2.4
#./configure--prefix=/usr/local/extundelete
#make&&makeinstall
3、验证是否安装成功
#cd/usr/local/extundelete/bin
#./extundelete-v
---------------------
extundeleteversion0.2.4
libext2fsversion1.41.12
Processorislittleendian.
---------------------
4、恢复数据
实例:假如我们误删除文件为test.txt,所在分区为/dev/sdb。
1)扫描文件
#/usr/local/extundelete/bin/extundelete/dev/sdb--inode2//扫描哪些文件被删除了
2)恢复文件
#/usr/local/extundelete/bin/extundelete--restore-filetest.txt/dev/sdb
3)查看文件
恢复的文件在当前目录下的RECOVERED_FILES/目录下
#ls./RECOVERED_FILES/
可以看到test.txt文件。
注意:
--------------------------------------------------------------------------------
如果想恢复整个分区上的文件,则可以执行以下命令
#/usr/local/extundelete/bin/extundelete--restore-all/dev/sdb
恢复后的文件也在./RECOVERED_FILES/目录下。
--------------------------------------------------------------------------------
5、后续工作
1)重新挂载该分区为可写。
2)备份重要数据。
3)覆盖我们恢复出来的数据。
4)重启服务器,恢复之前关闭的各种服务。