Rain WikiWindows · Linux · Android

journalctl и журнал systemd

Инструмент командной строкиДистрибутивы с systemdБезопасно удалять: Только собственным инструментом

journalctl — это команда для чтения журнала systemd, бинарного хранилища логов, используемого в большинстве современных дистрибутивов Linux. Она фильтрует сообщения по службе, загрузке, времени и приоритету, а также позволяет отслеживать и ограничивать использование дискового пространства журналом, который часто разрастается до нескольких гигабайт в /var/log/journal.

1Чтение логов

journalctl -u nginx.service показывает сообщения конкретной службы. -b ограничивает вывод текущей загрузкой, -b -1 — предыдущей. -p err отображает только ошибки и более критические события. '--since "1 hour ago"' ограничивает вывод по времени, а -f позволяет следить за новыми сообщениями в реальном времени.

2Использование диска

journalctl --disk-usage выводит общий размер активных и архивных файлов журнала.

--vacuum-size=, --vacuum-time= и --vacuum-files= удаляют архивные файлы журнала до достижения заданного лимита; они не затрагивают активные файлы.

3Постоянные ограничения

Ограничения задаются в /etc/systemd/journald.conf, например SystemMaxUse=500M, после чего применяются командой systemctl restart systemd-journald. Если настройки отсутствуют, journald по умолчанию удерживает размер журнала в пределах 10% от размера файловой системы, но не более 4 ГБ.

Как уменьшить размер журнала

  1. Проверить размер: journalctl --disk-usage
  2. Ротировать активные файлы, чтобы их можно было очистить: sudo journalctl --rotate
  3. Оставить логи только за две недели: sudo journalctl --vacuum-time=2weeks
  4. Или оставить не более 500 МБ: sudo journalctl --vacuum-size=500M
  5. Чтобы сделать настройки постоянными, установите SystemMaxUse=500M в /etc/systemd/journald.conf и выполните: sudo systemctl restart systemd-journald

Осторожно

  • Удаленные логи восстановить нельзя; сохраняйте достаточно истории для расследования проблем.
  • Не удаляйте файлы в /var/log/journal вручную, пока работает journald.

Источники

  1. journalctl(1) man7.org
  2. journald.conf(5) man7.org

Примечание: RainServer предлагает мониторинг и безопасную очистку для серверов Linux; он показывает, что будет изменено, и запрашивает подтверждение.

Последняя проверка: