我在 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。