有没有可以替代 logrotate 的 apache 日志?

有没有可以替代 logrotate 的 apache 日志?

我需要一个替代方法来轮换我服务器上的日志,每次运行 logrotate 时 apache 都会停机 10-20 分钟,我不确定这是否正确,但对我来说似乎不正确。

Apache 上有没有 logrotate 的替代品?日志轮换时间太长,不正常吗?

我的设置是 fedora core 9,apache 2.2.14

谢谢。

答案1

我喜欢 cronolog。Apache 可以将输出通过管道传输到 cronolog,后者会根据您使用的模板将内容存储在日志中。

在我的服务器上,我在全局范围内使用这两个指令,只有一个 cronolog 副本启动并用于写入日志。这将为每个年+月创建一个新的日志文件。

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedvhost
CustomLog "|/usr/bin/cronolog /var/log/apache2/%Y%m.combined.allhosts.log" combinedvhost

答案2

我会研究传递给 logrotate 的选项。

根据我的经验,您应该使用copytruncate(首先复制日志文件,然后截断)。

这也消除了 logrotate 完成后重新启动 apache 的需要。

答案3

每次运行 logrotate 时,apache 都会停机 10-20 分钟,我不确定这是否正确,但对我来说似乎不对

不 - 听起来你的系统坏了 - 我很想修复它而不是尝试别的 - 如果使用得当,logrotate 是一个非常有用的工具。

您当前的 logrotate 脚本是什么样的?

C。

答案4

如果手动重启Apache,也需要10-20分钟吗?

如果轮换日志需要那么长时间,那么似乎 Apache 被卡在了某个地方,这种情况也会手动发生,或者 logrotate 在尝试移动日志时遇到了磁盘问题。

压缩选项是否打开?如果打开,关闭时会发生什么?

相关内容