실행 중인 systemd 장치가 있고 해당 장치의 로그를 따르고 싶습니다.
다음을 사용하여 장치의 로그를 표시할 수 있다는 것을 알고 있습니다.
journalctl -u my_unit.service
하지만 이는 현재 로그를 따르지 않고 인쇄만 합니다.
systemd
다음을 사용하여 로그를 따라갈 수도 있다는 것을 알고 있습니다 .
journalctl -f
하지만 이는 알려진 모든 로그를 따라 출력을 스팸하므로 관심 있는 항목을 검색해야 합니다.
임시 솔루션은 출력을 필터링하기 위해 로그를 따라 파이핑하는 것 같지만 그다지 체계적인 솔루션은 아닙니다.
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
지정된 시스템 장치에 대한 메시지 표시
UNIT
(예: 서비스 단위) 또는 일치하는 단위에 대해PATTERN
. 패턴이 지정되면 저널에 있는 단위 이름 목록이 지정된 패턴과 비교되어 일치하는 모든 항목이 사용됩니다. 각 단위 이름에 대해 지정된 단위의 코어 덤프에 대한 메시지 및 systemd의 메시지에 대한 추가 일치와 함께 단위의 메시지에 대한 일치 항목(" ")이 추가됩니다 ._SYSTEMD_UNIT=UNIT
이 매개변수는 여러 번 지정할 수 있습니다.
-f, --follow
가장 최근의 저널 항목만 표시하고 저널에 추가되는 새 항목을 계속해서 인쇄합니다.