Apache 日志轮换

Apache 日志轮换

是否有任何适用于 Apache Httpd 的 mod 或程序,可以轮换日志并清除它们,而无需重新启动服务器进程?我检查了几个选项,mod_autorotate、rotatelogs、mod_log_rotate 和 cronologs。删除了 mod_autorotate,因为每次需要轮换日志时服务器都会重新启动。删除了 mod_log_rotate、rotatelogs 和 cronologs,因为它们没有清除功能。我不太确定我是否可以使用“logrotate”,因为它涉及 cron 作业,而我无法为运行大量应用程序的大量 Apache 服务器安排 cron 作业。

答案1

标准logrotate是每个人都使用的标准。仅仅因为它使用 cronjobs 并不意味着每次发生轮换时应用程序都会关闭。Logrotate 使用优雅重启 Apache,从而消除由于日志轮换而导致的任何停机时间。

答案2

如果您使用 syslog-ng 或 rsyslog,则甚至不需要 Apache 的平稳重启或 HUP。

一旦 logrotate 移动旧文件,syslog-ng 就会创建一个新文件。我喜欢将日期注入文件名中:web-$YEAR-$MONTH-$DAY.log

这些 syslog 类型程序的其他一些优点是,您可以将日志传输到另一台服务器,并且可以将来自许多 Web 服务器的日志合并到日志服务器上的单个文件中。

相关内容