Имеется AWS EC2 с Debian с logrotate.
Закончилось место на корневом разделе, начали искать причину, обнаружилось, что накопились файлы вида ./var/log/syslog.N.gz
При этом по-умолчанию logrotate создаёт файл настроек для syslog:
[simterm]
root@monitoring-dev:~# cat /etc/logrotate.d/syslog
# Ansible managed
/var/log/syslog {
size 10M
rotate 1
daily
...
}
[/simterm]
Т.е. должен оставаться syslog + syslog.1, а вместо этого имеем:
[simterm]
root@monitoring-dev:~# ll /var/log/ | grep syslog -rw-r----- 1 root adm 11925 Oct 9 09:26 syslog -rw-r----- 1 root adm 361150 Oct 9 06:25 syslog.1 -rw-r----- 1 root adm 7712 Oct 8 06:25 syslog.2.gz -rw-r----- 1 root adm 7562 Oct 7 06:25 syslog.3.gz -rw-r----- 1 root adm 7832 Oct 6 06:25 syslog.4.gz -rw-r----- 1 root adm 7720 Oct 5 06:25 syslog.5.gz -rw-r----- 1 root adm 7641 Oct 4 06:25 syslog.6.gz -rw-r----- 1 root adm 8072 Oct 3 06:25 syslog.7.gz
[/simterm]
Проверяем — запускаем logrotate с --debug:
[simterm]
root@monitoring-dev:~# logrotate -d /etc/logrotate.conf reading config file /etc/logrotate.conf error: /etc/logrotate.conf:5 unknown group 'syslog' removing last 0 log configs
[/simterm]
unknown group ‘syslog’
Собственно — вот и ошибка.
Возникает потому, что у Debian группы syslog нет, но есть группа adm, которая является группой владельцев логов по-умолчанию.
Проверяем /etc/logrotate.conf:
# Ansible managed # see "man logrotate" for details weekly su root syslog ...
И проверяем существующие в системе группы:
[simterm]
root@monitoring-dev:~# cat /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:admin ...
[/simterm]
Меняем syslog на adm:
# Ansible managed # see "man logrotate" for details weekly su root adm ...
Проверяем ещё раз:
[simterm]
root@monitoring-dev:~# logrotate -d /etc/logrotate.conf reading config file /etc/logrotate.conf including /etc/logrotate.d reading config file apt reading config file certbot reading config file chrony reading config file daemonlog reading config file dpkg reading config file exim4-base reading config file exim4-paniclog reading config file nginx reading config file rsyslog reading config file syslog reading config file unattended-upgrades Reading state from file: /var/lib/logrotate/status Allocating hash table for state file, size 64 entries ...
[/simterm]
Готово.




