centos 6.8:删除了 /var/log/messages .... 它没有回来?

centos 6.8:删除了 /var/log/messages .... 它没有回来?

为了更轻松地调试问题,我删除了 /var/log/messages .... 但它还没有回来!

我认为来自内核和 autofs 等模块的调试消息已路由到此文件。但即使在我循环 autofs(设置为详细日志记录)之后,该文件也消失了。

如何恢复?

答案1

您需要重新启动系统记录器:

service rsyslog restart

(作为root)。

重新启动也会有同样的效果,但有点矫枉过正了。

日志消息发送到 CentOS 上的系统记录器rsyslog,记录器根据其配置(甚至远程系统上的其他记录器)写入各种文件。启动时rsyslog打开,并保持打开状态;/var/log/messages删除/var/log/messages会使其从目录中消失,但该文件仍然存在并且可供任何打开该文件的程序使用。因此,rsyslog继续记录到已删除的文件...重新启动它会导致它重新打开该文件,在这种情况下首先重新创建它。

答案2

重新启动会有所帮助:文件已打开(创造如果它不存在)在启动,虽然您可以使用 来“查看”它lsof,但它会从文件系统中消失,直到有东西再次打开它。

一旦你取回你的文件,我建议证明没有其他东西可以打开它重命名文件。如果任何其他进程创建了它,您会在它发生时看到它。

相关内容