如果有进程正在使用的文件,如果被误删了,可以找回。如果没有进程在使用,就无法找回被误删的文件了。
假如/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服务就可以了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。