logrotate: ограничить размер и срок хранения логов
logrotate переименовывает и сжимает журналы, чтобы они не заполняли диск. Для сервиса с отдельным logfile задайте размер, число архивов, права нового файла и пропуск отсутствующих логов.
Рабочий пример
/var/log/myapp/app.log {
daily
size 50M
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 app adm
}rotate 7 хранит семь архивов, compress включает gzip, create задаёт права и владельца нового файла. Если приложение держит старый file descriptor, после ротации ему может понадобиться сигнал reopen.
Частый вопрос
Как проверить конфигурацию без ротации?
Используйте sudo logrotate --debug /etc/logrotate.d/myapp. --force запускает реальную ротацию и меняет файлы.