如何使logrotate服从logrotate.d / uwsgi而不是uwsgi.ini? (Centos 6)

时间:2018-09-26 21:23:17

标签: linux uwsgi centos6 logrotate

因此,似乎只有在uwsgi.ini中设置了最大日志轮转大小,而不是/etc/logrotate.d/uwsgi时才起作用(即使使用/etc/logrotate.d/uwsgi文件手动测试logrotate也可以,并且我在cron或logrotate状态日志中看不到任何错误)。

/var/log/uwsgi/*.log {
daily
missingok
dateext
rotate 7
size 100M
copytruncate
create
compress
}

是否存在使logrotate使用上述设置而不是uwsgi.ini的设置?

2 个答案:

答案 0 :(得分:0)

我看到您的copytruncate是正确的。如果不这样做,则必须使用postrotate来停止并重新启动UWSGI。

正如您提到手动触发/etc/logrotate.d/uwsgi的工作一样,这似乎与您的cron作业有关。

您可以将其放在/etc/cron.d/中,然后在/tmp/logrotate.status运行后检查其输出(修改计划表达式以适合您的调试需求)。

0 2 * * * root logrotate /etc/logrotate.d/uwsgi --state /tmp/logrotate.status

如果您需要有关日程安排表达式的帮助,请选中此crontab.guru链接。

答案 1 :(得分:0)

此问题的原因源于SELinux安全上下文,其中原始logrotate配置中包含的日志目录没有正确的安全权限。因此,当我继续执行.select.below > div > div { position: absolute; top: 38px; left: -10px; width: 100%; } .select.below > div > div:nth-child(2) { } 时,我找不到任何错误,因为它没有显示每个目录/文件的SELInux安全设置。我不得不做ls -al或类似的事情。