Apache HTTPd-rotatelogs 不起作用

Apache HTTPd-rotatelogs 不起作用

我编辑了我的 conf.d/ssl.conf 文件并将 TransferLog 指令从:

TransferLog logs/ssl_access_log

TransferLog "|/usr/sbin/rotatelogs logs/ssl_access_log.%Y-%m-%d.log 60" 

(我使用 60 秒进行测试)

自从进行上述更改并重新启动 httpd 后,我的原始 ssl_access_log 未更新,并且未生成新日志。我遗漏了什么?

在我的错误日志中,我收到此消息

Could not open log file 'logs/ssl_access_log.2014-05-30.log' (No such file or directory)
piped log program '/usr/sbin/rotatelogs logs/ssl_access_log.%Y-%m-%d.log 60' failed unexpectedly

答案1

rotatelogs 需要完整路径。

将 ServerRoot 添加到相对路径(即不以 或 开头的路径/driveletter:\只会在 Apache 内部发生,而外部程序(例如 rotatelogs)并不知道 Apache 的 ServerRoot 变量。

相关内容