我有 Ubuntu 12.04.2 LTS 服务器。
下面列出的我的每日日志轮换/etc/logrotate.d/
是在早上 7:00 左右执行的,但它不是在准确的时间,每天它都在(07:00 - 07:25)的范围内变化,我该如何防止日志轮换的随机时间执行?
/etc/crontab
文件内容:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
\# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
0 7 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
/etc/cron.daily/logrotate
内容:
\#!/bin/sh
\# Clean non existent log file entries from status file
cd /var/lib/logrotate
test -e status || touch status
head -1 status > status.clean
sed 's/"//g' status | while read logfile date
do
[ -e "$logfile" ] && echo "\"$logfile\" $date"
done >> status.clean
mv status.clean status
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
相关主题: 指定每日日志轮换的时间
答案1
该/etc/cron.daily
文件夹包含数十个项目(我的盒子里有 17 个项目),并且logrotate
不能保证一开始就能运行。
因此,如果您希望logrotate
每天在同一时间运行,请将其作为crontab
相关线程中的单个条目:指定每日日志轮换的时间