Перейти к содержимому

Журнал systemd: journalctl

Найти нужные записи по службе, времени и важности; ограничить размер журнала на диске.

Уровень
Новичок
Время чтения
2 мин чтения
Обновлено
Проверено на
Ubuntu 22.04, Ubuntu 24.04, Debian 12
Содержание
  1. Полезные фильтры
  2. Что было перед перезагрузкой
  3. Ограничьте размер журнала
  4. Проверьте результат

systemd собирает вывод служб, сообщения ядра и системные события в единый журнал. В Debian 12 это основной источник логов: классического /var/log/syslog там по умолчанию нет.

Полезные фильтры

Что нужноКоманда
Логи одной службыjournalctl -u nginx
Последние 100 строкjournalctl -u nginx -n 100
Следить в реальном времениjournalctl -u nginx -f
За периодjournalctl --since "2026-09-25 10:00" --until "2026-09-25 12:00"
Только ошибки и хуже, текущая загрузкаjournalctl -p err -b
Сообщения ядраjournalctl -k
Прошлая загрузкаjournalctl -b -1

Фильтры сочетаются: journalctl -u ssh -p warning --since today. Флаг --no-pager выводит всё сразу — удобно, чтобы скопировать в тикет.

Что было перед перезагрузкой

Чтобы видеть прошлые загрузки, журнал должен храниться на диске. Если journalctl --list-boots показывает только одну загрузку, создайте каталог для постоянного хранения:

bash
$ mkdir -p /var/log/journal$ systemctl restart systemd-journald$ journalctl --list-boots

Ограничьте размер журнала

bash
$ journalctl --disk-usage

По умолчанию журнал может занимать до 10 % файловой системы (но не больше 4 ГБ). На небольшом диске лучше задать явный предел:

bash
$ mkdir -p /etc/systemd/journald.conf.d$ nano /etc/systemd/journald.conf.d/size.conf
/etc/systemd/journald.conf.d/size.conf
[Journal]SystemMaxUse=500M
bash
$ systemctl restart systemd-journald

Разово освободить место можно без изменения настроек:

bash
$ journalctl --vacuum-size=200M$ journalctl --vacuum-time=14d

Проверьте результат

bash
$ journalctl --disk-usage

Дочитайте до конца — статья засчитается в обучении автоматически.

  • журнал
  • логи
  • journalctl
  • systemd
  • ошибки

Статья помогла?