Linux下误删messages文件的找回方法

如果有进程正在使用的文件,如果被误删了,可以找回。如果没有进程在使用,就无法找回被误删的文件了。

假如/var/log/messages文件被误删了:

1.查询正在使用该文件的进程。

  [root@www]# lsof |grep message  rsyslogd 1717   root  1w   REG        8,2  243321   654968 /var/log/messages

2.根据查询结果,是PID为1717的进程正在使用该文件。进入该进程/proc下的目录/proc/1717/fd:

  [root@www fd]# ll  total 0  lrwx------ 1 root root 64 Jan 10 14:34 0 -> socket:[11015]  l-wx------ 1 root root 64 Jan 10 14:34 1 -> /var/log/messages  l-wx------ 1 root root 64 Jan 10 14:34 2 -> /var/log/secure  lr-x------ 1 root root 64 Jan 10 14:34 3 -> /proc/kmsg  l-wx------ 1 root root 64 Jan 10 14:34 4 -> /var/log/maillog  l-wx------ 1 root root 64 Jan 10 14:34 5 -> /var/log/cron

3.查询文件1对应的就是messages日志,使用cat 1 > /var/log/messages 拷贝回去,再重启syslogd服务就可以了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

参与评论