测试环境: centos 6.3
日志文件是我们用来查看服务器运行情况的重要依据,但是有时人为的,不小心或故意删除日志,所以恢复被删除的日志就非常重要。我们知道,程序运行时,所需要的数据会存放在内存里,根据这个原理,我们可以使用lsof 程序来恢复日志文件。具体操作如下:
首先: 安装lsof ,在centos6.3中,可以直接yum -y install lsof
其次: 查看该日志文件被哪个程序所用,记下PID,现在我们以/var/log/messages 日志文件为例,
先人为删除 rm -f /var/log/messages
查看被哪个程序所用 lsof | grep /var/log/messages
显示如下:
rsyslogd 1175 root 1w REG 253,0 41146 1981518 /var/log/messages (deleted)
PID=1175
现在我们进入 cd /proc/1175/fd (1175为PID值)
这个文件夹下有多个用数字命名的文件,这些数字是文件描述符,如上红字,我们这里的文件描述符是1,
现在恢复日志
cat 1 > /var/log/messages
日志文件就得以恢复
其他配置文件好像用这种方法恢复不了,我试了lamp ,都恢复不了。其他的自己可以试试。
转载于:https://blog.51cto.com/ahanwu/1216686