如果有进程正在使用的文件,如果被误删了,可以找回。如果没有进程在使用,就无法找回被误删的文件了。
假如/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服务就可以了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。