关于lsof 恢复数据的小记

2018-03-19  本文已影响12人  richard520

当系统中的某个文件被意外删除了,只要这个时候系统中有进程正在访问这个文件,那么可以通过lsof 从/proc目录下恢复文件的内容

假如/var/log/messages文件被删了,恢复这个文件的方法:

首先使用lsof 查看当前是否有进程打开/var/log/messages文件,

#lsof |grep /var/log/messages

[root@localhost ~]# rm /var/log/messages

rm:是否删除普通文件 "/var/log/messages"?y

[root@localhost ~]# lsof |grep /var/log/messages

rsyslogd  5925      root    1w      REG        8,2     4369     266184 /var/log/messages (deleted)

从上面的信息可以看到PID 5925(syslogd)打开文件的文件描述符为1,同时发现/var/log/messages已经被删除了。

因此可以通过/var/log/messages文件描述符来查看文件信息。

最后通过重定向的方法恢复被删除的/var/log/messages

cat /pro/5925/fd/1 >/var/log/messages

上一篇 下一篇

猜你喜欢

热点阅读