기본 조회
Bash
# 전체 로그 (최신 순)
journalctl -r
# 마지막 100줄
journalctl -n 100
# 실시간 스트림 (tail -f 같은)
journalctl -f
# 부팅 이후 로그
journalctl -b
# 이전 부팅 로그 (-1 = 직전)
journalctl -b -1서비스별 필터링
Bash
# 특정 유닛 로그
journalctl -u nginx
journalctl -u nginx -f # 실시간
# 여러 유닛
journalctl -u nginx -u php-fpm
# 특정 PID
journalctl _PID=1234시간 범위 필터
Bash
# 오늘 로그
journalctl --since today
# 특정 시간 범위
journalctl --since "2024-01-15 10:00:00" --until "2024-01-15 12:00:00"
# 1시간 전부터
journalctl --since "1 hour ago"우선순위(레벨) 필터
Bash
# error 이상만
journalctl -p err
# warning ~ error 범위
journalctl -p warning..err
# 레벨: 0=emerg, 1=alert, 2=crit, 3=err, 4=warning, 5=notice, 6=info, 7=debug출력 형식
Bash
# JSON 출력 (로그 파이프라인에 유용)
journalctl -u nginx -o json | jq '.MESSAGE'
# 메시지만 (cat 형식)
journalctl -o cat -u myapp
# 커널 메시지만 (dmesg 대체)
journalctl -k실무 시나리오
Bash
# 서비스 크래시 원인 찾기
journalctl -u myapp -p err --since "1 hour ago"
# 부팅 실패 원인
journalctl -b -1 -p err
# OOM killer 발생 확인
journalctl -k | grep -i "oom\|killed process"
# SSH 로그인 실패 모니터링
journalctl -u sshd | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -rn
# 로그를 파일로 저장
journalctl -u nginx --since today > /tmp/nginx-today.log로그 용량 관리
Bash
# 현재 저널 용량
journalctl --disk-usage
# 오래된 로그 삭제 (2주 이상)
journalctl --vacuum-time=2w
# 용량 제한 (500MB)
journalctl --vacuum-size=500M/etc/systemd/journald.conf에서 SystemMaxUse=500M, MaxRetentionSec=2week으로 영구 설정 가능합니다.
편집 안내 · Editorial Note
AI 도구가 초안 작성에 사용될 수 있습니다. 명령어의 실행 여부와 검증 환경은 각 가이드에 기재된 근거를 확인하세요. 적용 전 사용 중인 버전의 공식 문서를 확인하고, 오류는 이메일로 알려주세요. 이메일로 제보
주제 관련 공식 문서(자동 연결 · 문장별 근거 아님)GNU/Linux man 페이지 ↗
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.