Чтобы логи не съели диск
Ограничения journald и logrotate для приложений, которые пишут в файлы.
Переполненный диск чаще всего оказывается не данными, а журналами. Два места стоит настроить сразу после установки системы.
journald
# /etc/systemd/journald.conf.d/size.conf
[Journal]
SystemMaxUse=1G
SystemKeepFree=2G
MaxRetentionSec=1month
systemctl restart systemd-journald
journalctl --disk-usage
Если места уже не осталось, освободить его сразу можно командой journalctl --vacuum-size=500M.
logrotate
Для приложений, которые пишут в собственные файлы, добавляем правило:
# /etc/logrotate.d/myapp
/var/log/myapp/*.log {
daily
rotate 14
compress
delaycompress
missingok
notifempty
copytruncate
}
copytruncate нужен, если приложение не умеет переоткрывать файл по сигналу. Если умеет — лучше использовать postrotate с отправкой сигнала: так не теряются строки, записанные в момент копирования.
Проверить правило без реальной ротации: logrotate -d /etc/logrotate.d/myapp.