为什么每日 cron 没有在 CentOS 6 上运行?

为什么每日 cron 没有在 CentOS 6 上运行?

我在 CentOS 6 操作系统上设置了一个每日 cronjob,它应该负责日志轮换作业。该文件是 /etc/cron.daily/logrotate ,其内容是

#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

我预计日志将在被每日 cronjob 激活时轮换,但事实并非如此。我没有看到任何证据表明每日 cronjob 是从日志文件 /var/log/cron 运行的。但是,每小时作业的运行情况如日志文件所示。

我在 /etc/crontab 文件中添加了一行

# run-parts
02 4 * * * root run-parts /etc/cron.daily 

但这并没有改变。

我不知道为什么这个日志轮换不起作用。如果有人能提供一些线索,我会很高兴。

答案1

尝试logrotate手动执行您的流程:

logrotate -v -f /etc/logrotate.conf

如果出现错误,请手动修复它们。

例如,可能没有更多空间可用于压缩日志并旋转它(在这种情况下,删除一些日志),ecc。

相关内容