이 가이드에서는 다양한 명령줄 유틸리티를 사용하여 Linux에서 systemd 로그를 보는 방법을 다룰 것입니다.
메모: 이 가이드에 언급된 명령은 Ubuntu에서 수행됩니다. systemd init 시스템과 함께 제공되는 모든 Linux 배포판에서 오류 없이 작동합니다.
systemctl 로그를 보는 방법
Linux에서 systemd 로그를 보는 방법에는 두 가지가 있습니다.
systemctl은 최신 서비스별 로그를 제공하는 반면, Journalctl은 모든 서비스 및 특정 서비스에 대한 심층적인 시스템 전체 로그를 제공합니다.
systemd 로그를 보기 위해 두 유틸리티를 모두 살펴보겠습니다. 하지만 먼저 systemctl과 Journalctl 명령의 주요 차이점을 이해해 보겠습니다.
systemctl이란 무엇입니까?
Systemctl은 서비스 활성화 또는 비활성화, 상태 보기 등 systemd 서비스를 관리하는 명령줄 유틸리티입니다. 그만큼 systemctl 상태 또한 명령은 출력 하단에 서비스의 몇 가지 로그 줄을 인쇄하며 이 로그는 최근 부팅 이후입니다. 그러나 이러한 서비스 로그 줄은 현재 부팅 이후에만 발생합니다.
Journalctl이란 무엇입니까?
Journalctl은 systemd가 수집한 로그를 인쇄하는 데 사용되는 명령줄 유틸리티입니다. systemctl과 비교하여 필터링 옵션과 함께 자세한 출력을 제공합니다. 이 유틸리티는 다음을 위해 설계되었습니다.
- 로그 읽기(가장 오래된 로그가 먼저 표시됨)
- 로그 모니터링
- 시간, 서비스 또는 사용자를 기준으로 로그 필터링
systemd는 커널, 서비스 및 데몬에서 로그를 수집하여 중앙 집중식 장소에 저장합니다.
systemctl을 사용하여 서비스 로그를 보는 방법
다음을 사용하여 서비스의 로그를 찾는 일반적인 구문 systemctl 유틸리티는 아래에 언급되어 있습니다.
systemctl 상태 [ 서비스 이름 ]예를 들어, 다음의 로그 정보를 보려면 smbd.service 아래 주어진 명령을 사용하십시오.
systemctl 상태 smbd.service
페이지 매김 없이 출력하려면 다음을 추가하세요. – 호출기 없음 명령의 옵션입니다.
systemctl 상태 smbd.service --호출기 없음
Journalctl을 사용하여 서비스 로그를 보는 방법
systemd의 특정 서비스 로그를 보려면 다음을 사용하십시오. 저널 와 더불어 -안에 명령 및 서비스 또는 유닛 이름.
저널 -안에 [ 서비스 이름 ]위 명령에서는 -안에 깃발, 줄여서 -단위 필터링하는 데 사용됩니다. 저널 유닛명으로 출력됩니다.
예를 들어, 로그를 인쇄하려면 smbd 데몬을 교체하겠습니다. [유닛 이름] ~와 함께 smbd.service .
저널 -안에 smbd.service
출력에서는 가장 오래된 항목이 먼저 나온 다음 각 부팅 후에 로그가 나열되는 것을 볼 수 있습니다.
최신 항목을 얻으려면 먼저 사용하십시오. -그것은 약자 – 호출기 끝.
저널 -안에 smbd.service -그것은
출력에서 페이지 매김을 생략하려면 간단히 – 호출기 없음 위에서 언급한 명령에서.
실시간 사용으로 로그 항목을 지속적으로 인쇄하려면 -에프 약자 -따르다 .
저널 -안에 smbd.service -에프필터링은 -b 플래그를 짧게 사용하여 더 확장할 수 있습니다. -신병 , 현재 부팅을 기반으로 로그를 인쇄합니다.
저널 -안에 [ 단위 이름 ] -비로그를 인쇄해 보겠습니다. smbd.service 최근 부팅에서.
저널 -안에 smbd.service -비
위 출력은 다음을 사용하여 얻은 출력과 유사합니다. systemctl 상태 명령.
자세한 로그 개요를 보려면 다음을 사용하세요. -엑스 약어 -목록 옵션.
저널 -안에 smbd.service -엑스그러면 로그에 대한 간단한 설명이 추가됩니다.
이제 Journalctl을 사용하여 시간을 기준으로 로그를 인쇄하려면 두 가지 옵션이 있습니다. -에스 약자 -부터 그리고 -안에 약자 -까지 .
저널 -안에 [ 단위 이름 ] -에스 '[년-월-일] [시:분:초]'예를 들어, 장치의 로그를 보려면 smbd ~에서 2024:01:30 12:05:00 .
저널 -안에 smbd.service -에스 '2024:01:30 12:05:00'
결론
서비스의 systemd 로그를 보려면 Journalctl과 systemctl이라는 두 가지 주요 유틸리티가 있습니다. Journalctl은 systemd의 로그를 보기 위해 특별히 설계되었습니다. 그러나 systemctl에는 서비스 로그를 인쇄하는 옵션도 있습니다. 서비스 이용 로그를 인쇄하려면, 저널ctl -u [유닛 이름] 그리고 systemctl [유닛 이름].