【发布时间】:2019-04-14 18:34:01
【问题描述】:
我正在尝试每天执行一次 logrotate。到目前为止,我尝试将它放在 cron.daily 中:
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
我的 logrotate.conf 包含:
/var/lib/mysql/queries.log {
size 1k
copytruncate
rotate 4
}
当我尝试执行logrotate -f /etc/logrotatetest.conf 时,它可以工作。但每日 cron 不执行。所以我创建了一个包含上述代码的 SH 文件,然后由 cronjob 执行:* * * * * /home/rotate.sh 2>/home/rotate.log 1>&2
我做了 * * * * * 进行测试,但它不起作用。
rotate.sh 包含:logrotate -f /etc/logrotate.conf
我不知道为什么它不被 cronjob 执行:(
PS。日志文件、SH 文件和 logrotate.conf 具有“777”访问权限。
【问题讨论】:
-
尝试将 logrotate.conf 文件更改为
/var/lib/mysql/queries.log { daily size 1k copytruncate rotate 4 } -
我如何测试这是否可行?我应该等明天还是有其他方法?
-
每天更改为每小时,看看这是否有效,请参阅 logrotate.conf 的手册页。
-
非常感谢!会及时通知您:)
-
它不工作:(
标签: linux logging cron logrotate