logrotate не вращается во время, указанное в crontab

1117
rexemTrebor

Мне интересно, почему logrotate не вращает мои лог-файлы во время, когда он вызывается через crontab.

Моя запись в crontab:

50 2 * * * / usr / sbin / logrotate

Поэтому все мои журналы должны быть повернуты ночью в 2:50. Я получаю сообщение о состоянии от моего сервера, на котором logrotate вызывается в 2:50, так что, похоже, это работает.

Журналы вращаются правильно - но не в 2:50, они вращаются в 9:30.

Я погуглил еще 2 часа, проверил logrotate.conf, мои файлы в logrotate.d, но я не могу найти конфигурацию, которая могла бы вызвать такую ​​задержку. Я был бы признателен за подсказку о том, что может вызвать это поведение и как я могу изменить его (настройки были настроены моим предшественником, и я оставил мне без документации)

0

2 ответа на вопрос

0
jcbermu

logrotate контролируется anacron.

Проверьте конфигурацию этого сервиса в файле etc\anacrontab. Например, это может быть:

# /etc/anacrontab: configuration file for anacron  # See anacron(8) and anacrontab(5) for details.  SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=10 # the jobs will be started during the following hours only START_HOURS_RANGE=3-4  #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly 

Строка START_HOURS_RANGE=3-4указывает, что anacron будет работать в любое время между 3 и 4 часами утра, а строка RANDOM_DELAY=10означает, что он добавит случайное время максимум 10 минут к времени запуска.

Вам нужно будет изменить это, чтобы оно работало в нужное время.

Спасибо за идею - это могло быть причиной. Но поскольку я использую Suse Linux Enterprise Server, в моей системе нет Anacron или Fcron. rexemTrebor 6 лет назад 0
0
rexemTrebor

Хорошо, я нашел проблему: в cron.daily была еще одна запись logrotate, которую я не видел в последнее время.

Поэтому - по крайней мере, в SLES - вы должны сконфигурировать DAILY_TIME в / etc / sysconfig / cron, который по умолчанию пуст и поэтому обычно должен запускаться через 15 минут после загрузки.

Почему это всегда было 9:30? Я не знаю, но когда я изменил его на принудительный запуск в 4:00, он фактически вращает мои журналы в 4:00.

Получил информацию отсюда: https://lists.opensuse.org/opensuse/2011-09/msg00550.html