linux如何恢复被删除的热文件

windows下如果文件被删除还有回收站,如果没放入回收站或者回收站被清空了,还可以使用easyrecover或者finaldata等等很多工具来恢复;

可是linux下没有回收站,那么linux下如果文件被删除了如何恢复呢?如果刚好你删除的文件还在被其它程序调用,那么恭喜你,很轻易的的将删除的文件找回来

我们先手工来删除我们的日志文件/mnt/ramdisk/messages,删除前我们显卡一下这个文件的内容

01 [root@test ~]# head /ramdisk/message
02 Sep 23 13:51:56 test icinga: Icinga 1.7.0 开始... (PID=4692)
03 Sep 23 13:51:56 test icinga: 本地时间 周一 2013年09月23日 13时:51分:56秒 CST
04 Sep 23 13:51:56 test icinga: 日志版本: 2.0
05 Sep 23 13:51:57 test icinga: https://www.icinga.org)
06  
07 Sep 23 13:51:57 test icinga:
08  
09 Sep 23 13:51:57 test icinga:
10 Sep 23 13:51:57 test icinga:
11 Sep 23 13:51:57 test icinga:
12 Sep 23 13:51:57 test icinga: 完成守护进程... (新 PID=4693)
13 Sep 23 13:51:57 test icinga: Event loop started...
14 [root@test ~]#

然后删除这个文件

1 [root@test ~]# \rm /mnt/ramdisk/messages
2 [root@test ~]# ls /mnt/ramdisk/messages
3 ls:/mnt/ramdisk/messages: No such file or directory

文件已经不存在了

这时候我们通过lsof命令查询一下系统当前的文件打开信息(若没有直接yum instal -y lsof安装即可)

看到我们刚才删除的文件 /mnt/ramdisk/messages,并且状态时deleted,目前调用的进程是3558,目录是2
这时候/proc/3558/fd/2就是我们删除的文件/mnt/ramdisk/messages了

拷贝回去并查看内容验证:

01 [root@test ~]# cp /proc/3558/fd/2 /ramdisk/message
02 [root@test ~]# head /ramdisk/message
03 Sep 23 13:51:56 test icinga: Icinga 1.7.0 开始... (PID=4692)
04 Sep 23 13:51:56 test icinga: 本地时间 周一 2013年09月23日 13时:51分:56秒 CST
05 Sep 23 13:51:56 test icinga: 日志版本: 2.0
06 Sep 23 13:51:57 test icinga: https://www.icinga.org)
07 Sep 23 13:51:57 test icinga:
08 Sep 23 13:51:57 test icinga:
09 Sep 23 13:51:57 test icinga:
10 Sep 23 13:51:57 test icinga:
11 Sep 23 13:51:57 test icinga: 完成守护进程... (新 PID=4693)
12 Sep 23 13:51:57 test icinga: Event loop started...
13 [root@test ~]#

文件回来了~~

上一篇:Centos5/6 ip_conntrack: table full, dropping packet


下一篇:简说Spring中的资源加载