~$ Заметки на полях консоли

Чтобы логи не съели диск

Ограничения 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.

← Все записи