CentOS系统中,当误删除了文件后,进行以下几步操来恢复文件。
1、关掉所有的服务
当发现误删除文件时,为了尽可能的恢复数据,先要关掉所有的正在进行的服务,不要再进行数据的写入,要不然恢复的概率那就低了。我们可以直接
# killall 进程名
或者
# kill -9 pid
然后把误删除的文件所在分区,重新挂载成只读的
# mount -o ro /dev/sdb /data/
2、安装extundelete工具
# yum install -y e2fsprogs* //安装依赖包
# wget
# tar -jxvf extundelete-0.2.4.tar.bz2
# cd extundelete-0.2.4
# ./configure --prefix=/usr/local/extundelete# make && make install
3、验证是否安装成功
# cd /usr/local/extundelete/bin# ./extundelete -v---------------------extundelete version 0.2.4libext2fs version 1.41.12Processor is little endian.---------------------4、恢复数据
实例:假如我们误删除文件为 test.txt,所在分区为/dev/sdb。1)扫描文件# /usr/local/extundelete/bin/extundelete /dev/sdb --inode 2 //扫描哪些文件被删除了2)恢复文件
# /usr/local/extundelete/bin/extundelete --restore-file test.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)重启服务器,恢复之前关闭的各种服务。