Команда journalctl: как посмотреть журнал службы и найти ошибку
Всё, что службы пишут о своей работе, systemd собирает в один журнал. journalctl показывает его и умеет отбирать нужное: записи одной службы, за нужное время, только ошибки. Ниже — команды для типичных задач на сервере.
Содержание 10
Что сделать прямо сейчас
- Подключитесь к серверу — инструкция.
- Посмотрите последние 50 записей nginx:
sudo journalctl -u nginx -n 50. - Посмотрите только ошибки за последний час:
sudo journalctl -p err --since "1 hour ago". - Следите за новыми записями:
sudo journalctl -u nginx -f. Перезапустите службу в другом окне и смотрите, что она пишет. Остановить — Ctrl+C. - Узнайте, сколько места занимает журнал:
sudo journalctl --disk-usage.
Без sudo journalctl покажет весь журнал, только если ваш пользователь состоит в группе adm или systemd-journal. Если записей служб не видно, добавьте sudo.
Главные команды
| Команда | Что покажет |
|---|---|
sudo journalctl -u nginx | записи одной службы |
sudo journalctl -u nginx -n 50 | последние 50 записей службы |
sudo journalctl -u nginx -f | новые записи по мере появления |
sudo journalctl -u nginx -e | открыть журнал службы сразу в конце |
sudo journalctl -r | весь журнал, новые записи сверху |
sudo journalctl -p err | только ошибки и то, что важнее ошибок |
sudo journalctl -b | записи с последней загрузки сервера |
sudo journalctl -b -1 | записи предыдущей загрузки: что было перед перезагрузкой |
sudo journalctl -k | сообщения ядра с последней загрузки |
sudo journalctl -g timeout | записи, в тексте которых есть это слово |
sudo journalctl --list-boots | список загрузок сервера |
Имя службы пишут так же, как в systemctl: nginx, ssh, mysql. Ключи можно сочетать: sudo journalctl -u nginx -p err -b — ошибки nginx с последней загрузки.
Как листать журнал
Длинный ответ journalctl открывает в less: листайте стрелками и пробелом, ищите клавишей /, выход — Q. Подробнее о клавишах — в статье cat, less, head и tail. Длинные строки обрезаются по ширине окна, остаток видно стрелками влево и вправо.
Чтобы ответ просто вывелся на экран целиком — например, чтобы скопировать его, — добавьте --no-pager: sudo journalctl -u nginx -n 100 --no-pager.
Записи за нужное время
| Команда | Что покажет |
|---|---|
--since today | с полуночи сегодня |
--since yesterday --until today | за вчерашний день |
--since "1 hour ago" | за последний час |
--since "10 min ago" | за последние 10 минут |
--since "2026-10-11 10:00" --until "2026-10-11 11:00" | с 10 до 11 часов |
Время пишут в кавычках, если в нём есть пробел. Если дату не указать, journalctl возьмёт сегодняшнюю. Пример целиком: sudo journalctl -u nginx --since "1 hour ago".
Только ошибки: ключ -p
У каждой записи есть уровень важности. Ключ -p оставляет записи этого уровня и более важные.
| Уровень | Число | Что значит |
|---|---|---|
emerg | 0 | система не работает |
alert | 1 | нужно вмешаться немедленно |
crit | 2 | критическая ошибка |
err | 3 | ошибка |
warning | 4 | предупреждение |
notice | 5 | заметное событие |
info | 6 | сведения |
debug | 7 | отладка |
-p err и -p 3 — одно и то же. В терминале ошибки подсвечены красным, предупреждения — жёлтым.
Служба не запускается: где смотреть
- Посмотрите краткое состояние:
systemctl status имя— там последние 10 строк журнала. Как его читать — в статье Команда systemctl. - Если причины не видно, откройте больше записей:
sudo journalctl -u имя -n 100 --no-pager. - Ищите строки со словами
errorиfailedрядом с моментом запуска — там программа пишет причину. - Добавьте ключ
-x: к некоторым записям journalctl допишет пояснение.
Разбор, что делать дальше, — в статье Job for … .service failed.
Сколько места занимает журнал
sudo journalctl --disk-usageЕсли места на диске мало, журнал можно уменьшить. Удаляются старые записи — свежие остаются:
| Команда | Что сделает |
|---|---|
sudo journalctl --vacuum-size=500M | удалит старые файлы журнала, пока он не станет меньше 500 МБ |
sudo journalctl --vacuum-time=2weeks | удалит архивные файлы, в которых все записи старше двух недель |
Чистятся только архивные файлы журнала, текущий не трогается. Поэтому после очистки --disk-usage может показать чуть больше заданного.
Без настройки journald сам ограничивает журнал на диске: не больше 10% размера диска и не больше 4 ГБ. Предел меняют в файле /etc/systemd/journald.conf — подробнее в статье No space left on device, раздел «Журнал systemd».
Ошибки и как их исправить
| Что видно | Что значит | Что сделать |
|---|---|---|
-- No entries -- | записей нет | проверьте имя службы и время в --since; добавьте sudo |
| видны не все службы | у пользователя нет прав на системный журнал | добавьте sudo |
journalctl -b -1 не находит прошлую загрузку | сервер ещё не перезагружали или журнал хранится только в памяти | проверьте, есть ли папка /var/log/journal: если её нет, записи не сохраняются на диск |
Источники
- Справка journalctl для Ubuntu 24.04 — ключи -u, -f, -n, -e, -r, --since, --until, -p, -b, -k, -g, --list-boots, --disk-usage и --vacuum-size, группы adm и systemd-journal.
- Справка journald.conf для Ubuntu 24.04 — Storage= и предел размера журнала: 10% диска, не больше 4G.
- Справка systemd.time для Ubuntu 24.04 — запись времени: today, yesterday, «11min ago», дата и время.
Сверено 11 октября 2026 года.
Что почитать дальше
- Команда systemctlзапустить, остановить и перезапустить службу.
- Ошибки systemd и дискачто делать, если служба не запускается.
- cat, less, head и tailжурналы nginx в /var/log/nginx.
- Команды Linux для новичкашпаргалка по командам.
Проверено и обновлено: 11.10.2026