![在 Ubuntu 18.04 上,logrotate 可以手动运行,但不能通过 cron 自动运行](https://linux22.com/image/784128/%E5%9C%A8%20Ubuntu%2018.04%20%E4%B8%8A%EF%BC%8Clogrotate%20%E5%8F%AF%E4%BB%A5%E6%89%8B%E5%8A%A8%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%BD%86%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%20cron%20%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C.png)
我有一个 logrotate 任务来轮换我的 nginx 日志。我的配置文件在 /etc/logrotate.d/nginx 中。当我运行时logrotate -f /etc/logrotate.d/nginx
,它可以正确轮换日志,这意味着我的配置文件是正确的。
当我将命令放入 cron 中时0 0 * * * logrotate -f /etc/logrotate.d/nginx
,日志不会轮换。但我可以CRON[6006]: (root) CMD (logrotate -f /etc/logrotate.d/nginx)
在 /var/log/cron.log 中看到,这意味着命令确实已运行。有什么问题吗?
这是我的 logrotate 配置文件:
/var/log/nginx/access.log {
daily
rotate 3
compress
copytruncate
dateext
}
/var/log/nginx/error.log {
daily
rotate 7
compress
copytruncate
dateext
}