如果有進程正在使用的文件,如果被誤刪了,可以找回。如果沒有進程在使用,就無法找回被誤刪的文件了。
假如/var/log/messages文件被誤刪了:
1.查詢正在使用該文件的進程。
[root@www]# lsof |grep messagersyslogd 1717 root 1w REG 8,2 243321 654968 /var/log/messages
2.根據(jù)查詢結(jié)果,是PID為1717的進程正在使用該文件。進入該進程/proc下的目錄/proc/1717/fd:
[root@www fd]# lltotal 0lrwx------ 1 root root 64 Jan 10 14:34 0 -> socket:[11015]l-wx------ 1 root root 64 Jan 10 14:34 1 -> /var/log/messagesl-wx------ 1 root root 64 Jan 10 14:34 2 -> /var/log/securelr-x------ 1 root root 64 Jan 10 14:34 3 -> /proc/kmsgl-wx------ 1 root root 64 Jan 10 14:34 4 -> /var/log/maillogl-wx------ 1 root root 64 Jan 10 14:34 5 -> /var/log/cron
3.查詢文件1對應的就是messages日志,使用cat 1 > /var/log/messages 拷貝回去,再重啟syslogd服務就可以了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答