У меня есть Ubuntu 12.04.2 сервер LTS.
Мои ежедневные вращения журнала, которые перечислены под/etc/logrotate.d/, выполняются утром около 7:00, но это не находится на точном времени, каждый день это изменялось на диапазоне (7:00 - 7: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
Связанный поток: Укажите, что время ежедневного журнала вращается
Папка /etc/cron.daily содержит десятки элементов (17 элементов в моем ящике), и logrotate не гарантированно запускается вначале.
Так что, если вы хотите, чтобы logrotate запускался ровно в одно и то же время каждый день, сделайте его одной записью в crontab, как в Связанной ветке: Укажите время поворота ежедневного журнала