У меня запущен модуль systemd, и я хочу следить за его журналом.
Я знаю, что могу показать журнал подразделения, используя:
journalctl -u my_unit.service
Но это только выводит текущие журналы, не отслеживая их.
Я знаю, что я также могу следить за systemd
журналами, используя:
journalctl -f
Но это засоряет вывод, следуя всем известным журналам, поэтому мне приходится искать то, что меня интересует.
Временным решением, по-видимому, является передача отслеживаемых журналов в grep-фильтрацию вывода, но это не очень систематическое решение:
journalctl -f | grep "what i'm interested in"
Разве нет команды для отслеживания журналов определенного подразделения?
Что я пробовал, но не сработало:
journalctl -uf my_unit.service
решение1
Я обнаружил, что использую аргументы в неправильном порядке. Журналы на самом деле можно отслеживать для одного блока, используя:
journalctl -fu my_unit.service
Другие рабочие варианты:
journalctl -f -u my_unit.service
journalctl -u my_unit.service -f
Отjournalctl
руководство:
-u
,--unit=UNIT|PATTERN
Показать сообщения для указанного модуля systemd
UNIT
(например, единица обслуживания) или для любой из единиц, соответствующихPATTERN
. Если указан шаблон, список имен единиц, найденных в журнале, сравнивается с указанным шаблоном, и используются все совпадения. Для каждого имени единицы добавляется совпадение для сообщений из единицы (" "), а также дополнительные совпадения для сообщений из systemd и сообщений о coredumps для указанной единицы._SYSTEMD_UNIT=UNIT
Этот параметр можно указать несколько раз.
-f, --follow
Показывать только самые последние записи журнала и непрерывно печатать новые записи по мере их добавления в журнал.