Ротация логов atop на CentOS7
UPD: 28.10.2022
Мой рабочий вариант ротации на CentOS7 от Virtuozzo
Ниже мои более старые наработки по этому вопросу, но имеют свою силу и актуальность.
Поставил на CentOS программу atop и возникла проблема с ротацией логов.
Расположение файлов ротации: /etc/logrotate.d/
Пример файла конфигурации, atop:
/var/log/atop2/atop_* { daily missingok rotate 10 compress size 100M nodelaycompress notifempty }
Вот такой конфиг ротации логов (для Debian, но вроде как подходить должен и на другие ОС) не заработал. Файл логов упорно не ротировался. Точнее он ротировался, но как-то странно. К старому файлу прибавлялась новая дата и он продолжал расти. Получалась вот такая картина.
Я разбирал разные варианты почему и как это происходит, но так и не понял почему это вообще происходит. Без ротации лог просто растёт (в прочем как и с кривой ротацией). Но на одной системе CentOS 7 без настроенной ротации у меня почему-то всё работало очень красиво и как надо.
Более-менее нормально ротировать лог мне удалось вот таким конфигом:
/var/log/atop/atop_20[0-9][0-9][0-9][0-9][0-9][0-9] { missingok daily nodateext rotate 5 ifempty nocreate postrotate systemctl restart atop.service /usr/bin/find /var/log/atop/ -maxdepth 1 -mount -name 'atop_*' -mtime +4 -exec /bin/rm {} \; endscript }
Получается кривенько, вот так, но юзабельно:
Запуск в отладочном режиме:
logrotate -d /etc/logrotate.d/atop
Непосредственный запуск ротации:
logrotate -v -f /etc/logrotate.d/atop
Установка для Debian:
apt install atop
systemctl enable atop
конфиг atop
nano /etc/default/atop
INTERVAL=60
LOGPATH=»/var/log/atop»
OUTFILE=»$LOGPATH/daily.log»
CentOS
nano /etc/sysconfig/atop
LOGOPTS=»»
LOGINTERVAL=10
LOGGENERATIONS=28
LOGPATH=/var/log/atop
n RH/CentOS atop is not being regulated by logrotate.
In /usr/share/atop/atop.daily there is an example script to deal with atop log file rotation
Использование atop — https://fornex.com/ru/help/atop/
https://debianworld.ru/articles/rotaciya-logov-s-pomoshyu-logrotate-v-debian-ubuntu/