journalctl
— это инструмент для просмотра и анализа логов, собираемых демоном systemd-journald
. Он объединяет сообщения от ядра, служб, приложений и самого systemd в единый журнал. Благодаря этому администраторы могут эффективно отслеживать и устранять проблемы в системе.
Синтаксис
journalctl [опции] [фильтры]
Команда без параметров выведет все доступные журналы. Для просмотра логов, относящихся к определённой загрузке, времени, сервису или приоритету, используются соответствующие опции.
Основные опции
Опция | Описание |
---|---|
-b | показать логи текущей загрузки |
-b -1 | предыдущая загрузка, -b -2 — две загрузки назад и т.д. |
–list-boots | список всех загрузок с их идентификаторами |
-u <unit> | логи конкретного сервиса (например, nginx.service) |
-p <priority> | фильтрация по уровню приоритета (0–7 или emerg–debug) |
–since и –until | фильтрация по времени (например, –since “2025-05-25 14:00” или –since “2025-05-25 14:00” –until “2025-05-25 17:00”) |
-f | режим реального времени (аналог tail -f) |
-n <N> | показать последние N записей (по умолчанию 10) |
-r | Обратный порядок (новые записи сверху) |
-k | только сообщения ядра |
-o <format> | формат вывода (short, json, cat, verbose и др.) |
-e | перейти к последним записям |
-x | добавить пояснения к ошибкам, если доступны |
–disk-usage | показать объём, занимаемый логами |
–vacuum-time=7d | удалить логи старше 7 дней |
–vacuum-size=100M | ограничить размер логов 100 МБ |
Примеры –since и –until
--since
и --until
— одни из самых удобных опций в journalctl
, особенно когда нужно вывести логи за конкретный промежуток времени.
Показать логи за сегодня:journalctl --since today
Логи за последние 2 часа:journalctl --since "2 hours ago"
Логи за конкретную дату:journalctl --since "2025-05-25" --until "2025-05-26"
Логи за конкретное время:journalctl --since "2025-05-26 14:00" --until "2025-05-26 16:30"
Логи nginx за последний час:journalctl -u nginx.service --since "1 hour ago"
Логи ядра за вчерашний день:journalctl -k --since "yesterday" --until "today"