journalctl과 systemd 저널
journalctl은 대부분의 최현 Linux 배포판에서 사용하는 바이너리 로그 저장소인 systemd 저널을 읽는 명령어입니다. 서비스, 부팅, 시간, 우선순위별로 메시지를 필터링하며, 흔히 /var/log/journal에서 수 기가바이트까지 불어나는 저널의 디스크 사용량을 보고하고 제한할 수도 있습니다.
1로그 읽기
journalctl -u nginx.service는 하나의 유닛에 대한 메시지를 보여줍니다. -b는 출력을 현재 부팅으로 제한하고, -b -1은 이전 부팅으로 제한합니다. -p err는 오류 및 그 이상 심각한 수준의 메시지만 보여줍니다. '--since "1 hour ago"'는 시간으로 제한하며, -f는 새로운 메시지를 실시간으로 추적합니다.
2디스크 사용량
journalctl --disk-usage는 활성 및 아카이브된 저널 파일의 총 크기를 출력합니다.
--vacuum-size=, --vacuum-time=, --vacuum-files=은 제한에 도달할 때까지 아카이브된 저널 파일을 삭제하며, 활성 파일은 건드리지 않습니다.
3영구 제한 설정
제한은 /etc/systemd/journald.conf에서 설정합니다(예: SystemMaxUse=500M). 그 후 systemctl restart systemd-journald로 적용합니다. 별도의 설정이 없으면 journald는 기본적으로 파일 시스템 크기의 10% 이내로 저널을 유지하며 최대 4GB로 제한됩니다.
저널을 줄이는 방법
- 크기 확인:
journalctl --disk-usage - 비울 수 있도록 활성 파일 로테이트:
sudo journalctl --rotate - 2주 동안의 분량만 유지:
sudo journalctl --vacuum-time=2weeks - 또는 최대 500 MB 유지:
sudo journalctl --vacuum-size=500M - 영구적으로 만들려면
/etc/systemd/journald.conf에 SystemMaxUse=500M을 설정하고 실행하세요:sudo systemctl restart systemd-journald
주의 사항
- 정리된 로그는 사라지므로 문제 조사에 충분한 기록을 남겨두세요.
- journald가 실행 중일 때
/var/log/journal안의 파일을 직접 삭제하지 마세요.
관련 문서
- logrotatelogrotate의 기능, /etc/logrotate.conf 및 /etc/logrotate.d에서의 설정 작동 방식, 그리고 규칙을 안전하게 테스트하는 방법을 설명합니다.
- du와 ncdu를 이용한 디스크 사용량 확인단일 파일 시스템에 유지되는 옵션을 사용하여 du 및 대화형 ncdu로 Linux 디스크를 채우는 요소를 찾는 방법입니다.
- df (disk free)df 출력 결과를 읽는 방법, 일반 사용자 기준에서 사용 가능한 공간(Avail)이 0이 되기 전에 사용률(Use%)이 100%에 도달할 수 있는 이유, 그리고 df -i를 통해 아이노드(inode)를 확인하는 방법을 설명합니다.
출처
- journalctl(1) man7.org
- journald.conf(5) man7.org
참고: RainServer는 Linux 서버를 위한 모니터링 및 안전한 정리를 제공하며, 변경될 내용을 먼저 보여주고 확인을 구합니다.
최종 검토: