Journalctl 일반 명령
기본 시청
| 명령 | 설명 |
|---|---|
journalctl | 모든 로그 보기 |
journalctl -e | 로그 끝으로 이동 |
journalctl -f | 실시간으로 새로운 로그 항목을 팔로우하세요. |
journalctl -n 50 | 최근 50개 로그 항목 보기 |
journalctl --no-pager | 페이징 없이 출력 |
시간으로 필터링
| 명령 | 설명 |
|---|---|
journalctl -b | 현재 부팅 이후의 로그 |
journalctl -b -1 | 이전 부팅의 로그 |
journalctl --since "2026-03-24 10:00:00" | 시작 시간 지정 |
journalctl --since "2026-03-24" --until "2026-03-25" | 시간 범위 지정 |
journalctl --since "1 hour ago" | 지난 1시간 |
journalctl --since "30 min ago" | 지난 30분 |
journalctl --since yesterday | 어제부터 |
journalctl --since today | 오늘부터 |
서비스별로 필터링
| 명령 | 설명 |
|---|---|
journalctl -u nginx | 특정 서비스에 대한 로그 보기 |
journalctl -u nginx -u php-fpm | 여러 서비스에 대한 로그 보기 |
journalctl -u service-name -f | 특정 서비스를 실시간으로 팔로우하세요 |
우선순위로 필터링
| 수준 | 숫자 | 설명 |
|---|---|---|
| 출현하다 | 0 | 시스템을 사용할 수 없음 |
| 알리다 | 1 | 즉각적인 조치가 필요함 |
| 치명타 | 2 | 심각한 오류 |
| 실수 | 3 | 일반 오류 |
| 경고 | 4 | 경고 |
| 알아채다 | 5 | 알아채다 |
| 정보 | 6 | 정보 제공 |
| 디버그 | 7 | 디버그 |
| 명령 | 설명 |
|---|---|
journalctl -p err | 이상의 오류만 표시 |
journalctl -p warning | 경고 이상만 표시 |
journalctl -p err..crit | 우선순위 범위 지정 |
프로세스/사용자별로 필터링
| 명령 | 설명 |
|---|---|
journalctl _PID=1234 | PID로 필터링 |
journalctl /usr/sbin/nginx | 실행 파일 경로로 필터링 |
journalctl _UID=1000 | 사용자 ID로 필터링 |
journalctl _COMM=sshd | 프로세스 이름으로 필터링 |
커널 로그
| 명령 | 설명 |
|---|---|
journalctl -k | 커널 메시지만 표시(dmesg와 유사) |
journalctl -k -b | 현재 부팅의 커널 로그 |
출력 형식
| 명령 | 설명 |
|---|---|
journalctl -o json-pretty | JSON 형식 |
journalctl -o short | 짧은 형식 |
journalctl -o verbose | 자세한 형식(모든 필드) |
journalctl -o cat | 메시지 내용만 |
journalctl -u nginx --since today > /tmp/nginx-log.txt | 파일로 내보내기 |
디스크 공간 관리
| 명령 | 설명 |
|---|---|
journalctl --disk-usage | 로그 디스크 사용량 확인 |
sudo journalctl --vacuum-time=7d | 로그는 7일만 보관 |
sudo journalctl --vacuum-size=500M | 로그를 500MB로 제한 |
sudo journalctl --vacuum-files=5 | 로그 파일은 5개로 제한됩니다. |
영구 구성: /etc/systemd/journald.conf을 편집하고 SystemMaxUse=500M, SystemMaxFileSize=50M, MaxRetentionSec=1month을 설정한 다음 sudo systemctl restart systemd-journald를 실행합니다.
부트 레코드 보기
| 명령 | 설명 |
|---|---|
journalctl --list-boots | 모든 부팅 레코드 나열 |
journalctl -b -1 | 이전 부팅 로그 보기 |
journalctl -b -2 | 두 번의 부팅 전 로그 보기 |
실제 사례
| 명령 | 설명 |
|---|---|
journalctl -u ssh --since today | grep "Failed" | 오늘의 SSH 로그인 실패 찾기 |
journalctl -b -p err --no-pager | 현재 부팅 오류 보기 |
journalctl -u nginx --since "1 hour ago" --no-pager -o short-iso > /tmp/nginx.log | 서비스의 마지막 시간 로그 내보내기 |
journalctl -f -u nginx -u php8.5-fpm -u mysql | 여러 서비스를 실시간으로 모니터링 |