Я проверяю статус службы с помощью systemctl status service-name
.
По умолчанию я вижу только несколько строк, поэтому я добавляю -n50
, чтобы увидеть больше.
Иногда я хочу видеть полный журнал, с самого начала. В нем может быть 1000 строк.
Сейчас я проверяю это с помощью -n10000
, но это не выглядит аккуратным решением.
Есть ли возможность проверить полный журнал службы systemd, аналогичная команде less
?
Просто используйте команду journalctl
, как в примере:
journalctl -u service-name.service
Или, чтобы увидеть только сообщения журнала для текущей загрузки:
journalctl -u service-name.service -b
Для вещей с именем <something>.service
, на самом деле, можно просто использовать <something>
, как в случае:
journalctl -u service-name
Но для других видов модулей (сокеты, цели, таймеры и т.д.) необходимо быть явным.
В приведенных выше командах флаг -u
является сокращением от --unit
и указывает имя юнита, который вас интересует. Флаг -b
- это сокращение от --boot
, он ограничивает вывод только текущей загрузкой, чтобы вы не увидели множество старых сообщений. Дополнительные сведения см. на странице journalctl man page.
systemctl
может включить полный вывод своего списка состояния, без усечения, добавив флаг -l
:
systemctl -l status service-name
-l
: не усекать записи многоточиями (...)
--no-pager
можно добавить, чтобы не вызывать пейджер, если на выходе получается интерактивный терминал.
используя journalctl
запись журналов в текстовый файл
и прочитать его снизу вверх
journalctl -u service-name.service > file_name.txt
tail -r file_name.txt
Используйте journalctl для просмотра журналов вашей системы
Посмотреть journalctl без PagingPermalink Чтобы отправить свои журналы в стандартный вывод и избежать их пейджинга, используйте опцию --no-pager:
journalctl --no-pager
Не рекомендуется делать это без предварительной фильтрации количества показанных журналов.
journalctl -u service-name.service
Показать журналы в пределах диапазона времениПостоянная ссылка
Используйте опцию --since
, чтобы показывать журналы после указанной даты и времени:
journalctl - так как "2018-08-30 14:10:10"
Используйте опцию --till, чтобы показывать журналы до указанной даты и времени:
journalctl - до "2018-09-02 12:05:50"
Объедините их, чтобы показать журналы между двумя разами:
journalctl - начиная с "2018-08-30 14:10:10" - до "2018-09-02 12:05:50"