Apache分裂日志

我有一个繁忙的网站日志增长非常快。 我想知道是否有办法每天“分裂”日志文件,而不使用外部工具。

编辑:我的错,我在Windows服务器2003年,Apache版本2.0.64。

Apache httpd能够通过pipe道将错误和访问日志文件写入另一个进程,而不是直接写入文件。 这种function大大增加了日志logging的灵活性,而无需向主服务器添加代码。 为了将日志写入pipe道,只需用pipe道字符“|”replace文件名,然后再replace应接受其标准input上的日志条目的可执行文件的名称。

您可以使用此技术将日志传送到脚本,然后以任何您喜欢的方式分割日志。 这通常被虚拟主机用来分割。

你可以使用logrotate保持你的日志文件小,你也可以压缩它们。

例如,你可以使用像这样的东西:

/var/log/apache/*.log { daily rotate 5 size 100M compress postrotate /usr/bin/killall -HUP apache endscript } 

这将保持五个旋转的文件。 日志将每天旋转并压缩。 欲了解更多信息,请参阅man logrotate