解决了!

解决了!

我的安装存在这个问题,一旦默认日志轮换软件在将我的复制到后将其删除lighttpd,记录将停止。我必须停止并重新启动服务才能继续记录。access.logaccess.logaccess.log-YYYYMMDD

以下是发生此事件的 dedi 的信息unamecentos-release

np ~ > uname -a && cat /etc/centos-release
Linux sevlet 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
CentOS Linux release 7.0.1406 (Core)

我不知道此机器上预装了什么日志轮换软件,也不知道为什么 lighttpdaccess.log在文件轮换后会完全停止写入。有人知道发生了什么事和/或如何修复它吗?

解决了!

任何人在最小 CentOS 7 安装上遇到此问题或类似问题,请阅读:

@chutz 建议我看一下lighttpd中的配置/etc/logrotate.d/。 的默认配置有效lighttpd,但它会调用killall重新启动守护进程。 CentOS 7 的最小安装不包括killall

要在 CentOS 上安装:

yum -y install psmisc

希望这对某人有帮助!

答案1

CentOS 自带了 logrotate。

在移动日志文件后,您确实需要重新启动或以其他方式向任何恶魔发出信号。这就是 Linux 的工作原理。文件可能会被重命名或删除,但只要进程打开了它(即进程打开了与文件名无关的文件句柄),该进程就可以继续写入它。是的,可以继续写入已删除的文件,有时只要有人仍将其打开,甚至可以恢复已删除的文件。

检查/etc/logrotate.d如何在日志轮换后重新加载进程的示例。

PS:我没有注意到您正在运行 CentOS 7。我的回答可能非常错误。

相关内容