Cronjob logrotate не выполняется - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь заставить logrotate выполнять ежедневно. До сих пор я пытался поместить его в cron.daily:

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

И мой logrotate.conf содержит:

/var/lib/mysql/queries.log {
         size 1k
         copytruncate
         rotate 4
}

Когда я пытаюсь выполнить logrotate -f /etc/logrotatetest.conf, это работает. но ежедневный хрон не выполняется. Поэтому я создал файл SH, содержащий приведенный выше код, который затем выполнил cronjob: * * * * * /home/rotate.sh 2>/home/rotate.log 1>&2 я сделал * * * * * для тестирования, но он не работает.

rotate.sh содержит: logrotate -f /etc/logrotate.conf

Я не знаю, почему он не выполняется cronjob :(

PS. Файл журнала, файл SH и файл logrotate.conf имеют права доступа «777».

1 Ответ

0 голосов
/ 27 февраля 2019

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

Во-первых, сценарий /etc/cron.daily/logrotate, который вы описали, является сценарием поворота logrotate по умолчанию, он должен был уже существовать, когда был установлен logrotate. Почему вы должны были поместить его туда, я не знаю, но это уже звучит так, будто ваш логрот или cron не настроен должным образом. Является ли этот файл исполняемым? Исполняемые биты в журналах и conf не имеют большого значения, в них нет исполняемого кода.

Во-вторых, предполагается, что /etc/logrotate.conf является схемой base для logrotate, которая должна быть проанализирована по умолчанию перед любыми другими каталогами, указанными параметром "include" внутри этого файла (там здесь также могут быть схемы для других определенных журналов). Если у вас не настроен этот файл должным образом, не будет базовой схемы для использования logrotate. Вам необходимо показать нам полное содержимое этого файла . Вы пытались отладить выполнение logrotate с флагом -d?

В-третьих, что такое /etc/logrotatetest.conf? Вы упоминаете это один раз, не говоря, что это такое, и говорите, что это работает. Как мы должны знать что-нибудь об этом? Либо опубликуйте, либо опишите содержимое относительно исходного файла .conf.

В-четвертых, как вы используете cronjobs? Вовлечен ли анакрон? Вы напрямую связываете проблему с cron, но затем не предоставляете нам информацию о настройке cron.

Если вы хотите получить серьезный ответ на этот вопрос, я вернусь и внесу некоторые изменения, потому что на этом этапе людям, которые могли бы помочь, очень мало что можно здесь сделать.

...