В большинстве современных дистрибутивов linux системные логи ведет systemd-journald - в бинарном формате, а не в виде привычных текстовых файлов syslog. Эти логи со временем могут занимать гигабайты места, поэтому за ними нужно следить.
▪️ Проверяем размер логов
journalctl --disk-usage
По умолчанию файлы хранятся в
/var/log/journal.▪️ Настройка ограничения размера. Основные параметры в
/etc/systemd/journald.conf:
[Journal]
SystemMaxUse=1024M # общий лимит размера логов
SystemMaxFileSize=50M # максимальный размер одного файла
После изменения конфигурации перезапустите journald:
systemctl restart systemd-journald.service
По умолчанию journald может занимать до 10% объема раздела, но не более 4 ГБ. На практике чаще встречается именно лимит в 4 ГБ.
▪️ Обрезка логов вручную. До определенного объёма:
journalctl --vacuum-size=1024M
По сроку хранения:
journalctl --vacuum-time=7d
Обе команды можно добавить в cron, чтобы чистка выполнялась автоматически.
▪️ Ограничение логов для конкретной службы. Если только один сервис «засоряет» журнал, можно выделить ему отдельное пространство логов. Например, для ssh:
systemctl edit ssh
Добавляем:
[Service]
LogNamespace=ssh
Создаём конфиг
/etc/systemd/journald@ssh.conf:
[Journal]
SystemMaxUse=20M
Перезапускаем службу:
systemctl restart ssh
Просмотр её логов:
journalctl --namespace ssh
#linux #journald
🧑💻 NetworkAdmin