기본 조회
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)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.