운영 시스템은 매일 거대한 로그를 쏟아냄.
정리 안 하면 디스크 폭주.
logrotate가 표준 도구.
logrotate.
/etc/logrotate.d/에 서비스별 .conf.
nginx, syslog 등 자동으로 등록되어 있음.
/etc/logrotate.conf가 기본 설정.
cron 또는 systemd timer가 매일 호출.
기본 설정 예.
/var/log/myapp.log { weekly / rotate 4 / compress / delaycompress / missingok / notifempty / postrotate / systemctl reload myapp / endscript / }.
매주 회전 + 4개 보관 + 압축 + 회전 후 앱 재로드.
rsyslog.
「syslog」 데몬 — 시스템 로그를 파일로 라우팅.
/etc/rsyslog.d/에 규칙.
*.* @@logserver:514로 「모든 로그를 원격 로그 서버로」 — 중앙 로그 수집의 기본.
journald와의 관계.
모던 리눅스는 systemd-journald가 「먼저」 받아서 binary log에 저장.
그 다음 rsyslog가 텍스트 파일로 추가 저장 가능.
journalctl이 journald 로그, /var/log/*.log가 rsyslog가 만든 텍스트 로그.
두 시스템이 공존.
한 줄 요약
logrotate는 로그 자동 회전·압축·삭제.
/etc/logrotate.d/에 서비스별 설정.
rsyslog는 syslog 라우팅(중앙 로그 서버 가능).
systemd-journald와 공존.
더 알아볼 것
- logrotate 옵션 — daily·monthly·size
- rsyslog 원격 로그 — TCP
- Loki·Promtail — 모던 로그 수집