Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회
journalctl은 systemd 저널에 저장된 시스템·서비스 로그를 검색하고 읽습니다. 특정 유닛의 최근 오류나 현재 부팅의 메시지에 범위를 좁힐 수 있습니다.
journalctl 명령어란?
인수 없이 실행하면 접근 가능한 저널 항목을 시간 순으로 보여 줍니다. -u는 서비스 유닛, -b는 부팅 회차, -p는 우선순위에 따라 필터링합니다. 일반 사용자는 권한에 따라 일부 시스템 로그만 볼 수 있습니다.
기본 문법
journalctl [옵션] [필터]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man journalctl으로 현재 시스템의 설명을 확인하세요.
사용 예제
현재 부팅의 오류 보기
현재 부팅에서 오류 수준 이상의 메시지를 살펴봅니다.
journalctl -b -p err
서비스 로그 보기
서비스 이름을 실제 유닛 이름으로 바꾸고 최근 100줄을 읽습니다.
journalctl -u sshd.service -n 100
서비스 로그 따라가기
새 로그가 출력될 때마다 표시합니다. Ctrl+C로 종료합니다.
journalctl -u sshd.service -f
서비스 로그 한 줄 읽기
journalctl은 systemd journal에 수집된 로그를 조건별로 검색합니다. 다음은 특정 서비스의 최근 세 항목을 페이지 없이 보여줍니다.
journalctl -u sshd.service -n 3 --no-pager
예시 출력의 형태(시간·호스트·메시지는 시스템마다 다름):
Sep 28 09:00:00 web01 sshd[1234]: Server listening on 0.0.0.0 port 22.
-u는 유닛으로 범위를 좁히고 -n은 항목 수를 제한합니다. 권한 때문에 다른 사용자의 로그가 보이지 않을 수 있습니다. 이전 부팅을 조사할 때는 -b -1을 쓰되, journal이 영구 저장되지 않는 시스템에서는 이전 부팅 로그가 없을 수 있습니다.
시각 범위를 좁히려면 --since '2026-09-28 09:00' 또는 --until을 사용합니다. 시스템 시간대와 로그가 기록된 시각의 차이를 고려하고, 문제 발생 직전·직후를 함께 봐야 원인과 후속 오류를 구별할 수 있습니다. 로그에 토큰이나 사용자 정보가 있을 수 있으므로 공유 전에는 민감한 값을 가리세요.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-u 유닛 |
지정한 유닛의 로그로 제한합니다. |
-b |
현재 부팅의 로그를 선택합니다. |
-n N |
최근 N개 항목만 표시합니다. |
-f |
새 로그를 계속 출력합니다. |
-p 수준 |
지정한 중요도 이상의 메시지를 선택합니다. |
--since 시간 |
지정한 시각 이후의 로그를 선택합니다. |
사용할 때 주의할 점
로그에는 사용자 정보·경로·토큰 등 민감한 내용이 들어갈 수 있으므로 공유 전에 확인하세요. 이전 부팅 로그는 영구 저널 저장 설정이 없으면 남아 있지 않을 수 있습니다. --vacuum-*는 저장된 로그를 제거하므로 단순 조회 중에는 사용하지 마세요.
자주 묻는 질문
이전 부팅 로그가 보이지 않는 이유는?
저널이 영구 저장되지 않거나 이미 회전·삭제됐을 수 있습니다. journalctl --list-boots로 보존된 부팅 회차부터 확인하세요.
공식 문서
옵션의 정확한 동작과 구현별 차이는 journalctl 관련 공식 문서에서 확인할 수 있습니다.









