systemctl status 서비스에서 전체 로그를 보는 방법은 무엇입니까?

systemctl status 서비스에서 전체 로그를 보는 방법은 무엇입니까?

나는 서비스 상태 확인을 사용합니다 systemctl status service-name.

기본적으로 몇 줄만 보여서 -n50더 많은 줄을 보고 싶어서 추가했습니다.

때로는 전체 로그를 처음부터 보고 싶을 때가 있습니다. 수천 개의 줄이 있을 수 있습니다.
지금 확인해 -n10000보니 별로 좋은 해결책은 아닌 것 같습니다.

전체 시스템 서비스 로그를 확인하는 명령과 유사한 옵션이 있습니까 less?

답변1

journalctl다음과 같은 명령을 사용하면 됩니다 .

journalctl -u service-name.service

또는 현재 시작에 대한 로그 메시지만 봅니다.

journalctl -u service-name.service -b

이라는 이름의 경우 <something>.service실제로 <something>다음과 같이 을 사용할 수 있습니다.

journalctl -u service-name

그러나 다른 유형의 단위(소켓, 대상, 타이머 등)에 대해서는 명시적이어야 합니다.

위 명령에서 flags는 관심 있는 단위 -u의 약어 이며 해당 단위의 이름을 지정합니다. 의 약어 이며 출력을 현재 시작으로만 제한하므로 이전 메시지가 많이 표시되지 않습니다. 보다--unit-b--bootJournalctl 매뉴얼 페이지더 많은 정보를 알고 싶습니다.

답변2

systemctl-l다음 플래그를 추가하면 상태 목록의 전체 출력을 잘림 없이 포함할 수 있습니다.

systemctl -l status service-name

-l: 줄임표(...)가 있는 항목을 자르지 않습니다.

--no-pager출력이 대화형 터미널일 때 호출기를 호출하지 않도록 추가할 수 있습니다.

답변3

journalctl시스템 로그를 보는 데 사용됩니다 .

          ︙

journalctl페이징 없이 보기

로그를 표준 출력으로 보내고 페이징을 방지하려면 다음 --no-pager옵션을 사용하십시오.

journalctl --no-pager

표시된 로그 수를 먼저 필터링하지 않고 이 작업을 수행하는 것은 권장되지 않습니다.

journalctl -u service-name.service

          ︙

특정 시간 범위 내의 로그 표시

--since지정된 날짜 및 시간 이후의 로그를 표시하려면 이 옵션을 사용하십시오 .

journalctl --since "2018-08-30 14:10:10"

--until지정된 날짜 및 시간까지의 로그를 표시하려면 이 옵션을 사용합니다 .

journalctl --until "2018-09-02 12:05:50"

두 번 사이의 로그를 표시하려면 다음을 결합하십시오.

journalctl --since "2018-08-30 14:10:10" --until "2018-09-02 12:05:50"

위 내용의 대부분은 다음의 내용을 표절한 것입니다.Journalctl을 사용하여 시스템 로그 보기Linode 문서에서. 거기에 더 많은 정보가 있습니다.

답변4

를 사용하여 journalctl로그를 텍스트 파일에 쓴 다음 아래에서 위로 읽습니다.

journalctl -u service-name.service > file_name.txt &&\
tail file_name.txt

관련 정보