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 показывает только одну загрузку, создайте каталог для постоянного хранения:
$ mkdir -p /var/log/journal$ systemctl restart systemd-journald$ journalctl --list-bootsОграничьте размер журнала
$ journalctl --disk-usageПо умолчанию журнал может занимать до 10 % файловой системы (но не больше 4 ГБ). На небольшом диске лучше задать явный предел:
$ mkdir -p /etc/systemd/journald.conf.d$ nano /etc/systemd/journald.conf.d/size.conf[Journal]SystemMaxUse=500M$ systemctl restart systemd-journaldРазово освободить место можно без изменения настроек:
$ journalctl --vacuum-size=200M$ journalctl --vacuum-time=14dПроверьте результат
$ journalctl --disk-usage