logrotate не срабатывает из cron

Thank you for reading this post, don't forget to subscribe!

Име­ет­ся logrotate, име­ет­ся для него daily-зада­ча в кроне.

Про­бле­ма в том, что зада­ча-то есть, фай­лы настро­ек для рота­ции логов — есть, но логи не меня­ют­ся и про­дол­жа­ют наг­ло жрать место.

В ста­ту­се logrotate — сра­ба­ты­ва­ния за сего­дня нет:

root@bttrm-stage-console:~# cat /var/lib/logrotate/status
logrotate state -- version 2
"/var/log/rabbitmq/rabbit@bttrm-stage-console-sasl.log" 2018-10-23-10:56:16
"/var/log/rabbitmq/rabbit@bttrm-stage-console.log" 2018-10-24-12:0:49

 

Про­ве­ря­ем содер­жи­мое фай­ла крон-задачи:

root@bttrm-stage-console:~# cat /etc/cron.daily/logrotate
!/bin/sh
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf

 

Выпол­ня­ем поша­го­во шаги в нём:

root@bttrm-stage-console:~# test -x /usr/sbin/logrotate
root@bttrm-stage-console:~# echo $?

 

Тут всё ОК, идём даль­ше — выпол­ня­ем /usr/sbin/logrotate /etc/logrotate.conf, но добав­ля­ем --verbose:

root@bttrm-stage-console:~# /usr/sbin/logrotate -v /etc/logrotate.conf
reading config file /etc/logrotate.conf
error: /etc/logrotate.conf:5 unknown group 'syslog'
removing last 0 log configs

 

Ага — вот и проблема.

Про­ве­ря­ем содер­жи­мое фай­ла настро­ек, ищем груп­пу syslog:

root@bttrm-stage-console:~# cat /etc/logrotate.conf | grep syslog
su root syslog
про­ве­ря­ем нали­чие груп­пы, если необ­хо­ди­мо добав­ля­ем её в систему.