Post

journalctl 사용법

journalctl 사용법

📓 journalctl Cheat Sheet

journalctlsystemd 기반 리눅스에서 로그를 조회하는 도구입니다. systemd는 로그 데이터를 journal이라는 바이너리 형식으로 저장하며, systemd-journald.service가 이를 관리합니다.


1️⃣ 기본 정보

  • 설정 파일: /etc/systemd/journald.conf
  • 기본 실행: 옵션 없이 실행하면 systemd 전체 로그 출력
1
journalctl

2️⃣ 최근 메시지 조회

  • -n [N] : 최근 N개의 메시지 조회 (기본 10개)
1
2
journalctl -n       # 최근 10개
journalctl -n 7     # 최근 7개
  • -x : message catalog에서 상세 설명 추가
1
journalctl -xn
  • 마지막 로그부터 보기
1
journalctl -x -e
  • 페이지 없이 출력
1
journalctl -xn --no-pager | less

3️⃣ 실시간 로그 보기

  • -f : tail -f 처럼 실시간 로그 출력
1
2
journalctl -f
journalctl -f -u test-service  # 특정 서비스 실시간 로그

4️⃣ 특정 PID 로그 보기

  • _PID=<PID> 옵션 사용
1
journalctl -n _PID=872   # PID 872 관련 최근 10개 로그

5️⃣ 로그 우선순위 필터링

  • -p <priority> : 로그 우선순위에 따라 필터링
  • 우선순위: emerg, alert, crit, err, warning, notice, info, debug
1
2
journalctl -p critical
journalctl -p err

6️⃣ 날짜/시간 필터링

  • --since / --until 옵션으로 기간 지정 가능
1
2
3
4
journalctl --since "2020-01-09"
journalctl --since "2020-01-09" --until "2020-01-11"
journalctl --since yesterday --until tomorrow
journalctl --since "-2hour" --until "10min"

7️⃣ 특정 서비스 로그

  • -u <서비스명> 옵션 사용
1
2
journalctl -u test-service      # 서비스 전체 로그
journalctl -f -u test-service   # 실시간 로그

💡 팁

  • 다양한 옵션을 조합하면 로그 분석, 디버깅, 실시간 모니터링 등 다양한 용도로 활용 가능
  • 예: 특정 서비스 + 최근 50개 로그 + 오류 수준 필터링
1
journalctl -u my-service -n 50 -p err

출처: Lesstif: Linux journalctl

This post is licensed under CC BY 4.0 by the author.