광고 영역 (상단 디스플레이)

logrotate 설정 빌더

로그 경로, 회전 주기, 보관 개수, 압축, create, postrotate 스크립트를 폼으로 입력해 /etc/logrotate.d/[name] 설정을 즉시 생성합니다.

파일 이름 (출력)

로그 블록


            
광고 영역 (결과 하단)

logrotate 설정 빌더 완벽 가이드

logrotate는 시스템 로그를 자동으로 회전·압축·삭제하는 표준 유틸리티로, /etc/cron.daily/logrotate 가 매일 한 번 실행되어 /etc/logrotate.conf 와 /etc/logrotate.d/ 디렉터리의 모든 정의를 평가합니다. 로그가 무한정 커져 디스크가 가득 차는 사고를 막고, 압축으로 저장 공간을 절약하며, 보관 기간을 관리해 컴플라이언스를 만족시키는 가장 일반적이고 검증된 방법입니다.

주요 디렉티브

운영 팁

설정 작성 후 logrotate -d /etc/logrotate.d/my-app으로 dry-run 디버그를 돌려 어떤 파일이 회전 대상이 되는지, postrotate가 어떻게 평가되는지 확인하세요. 실제 강제 실행은 logrotate -f /etc/logrotate.d/my-app 입니다. nginx, php-fpm, gunicorn 같은 데몬은 reopen 또는 USR1 시그널로 fd를 다시 여는 패턴이 가장 안전하고 손실이 없습니다. 로그 디렉터리의 소유자/그룹을 데몬과 일치시켜야 회전 후 새 파일에 데몬이 쓰기 권한을 갖습니다.

자주 묻는 질문 (FAQ)

Q. cron이 실행되었는데도 회전이 안 됩니다.

A. notifempty(빈 파일은 회전 안 함), 빈도 조건(daily는 마지막 회전 후 1일 경과 필요), missingok 미설정 + 파일 부재 등 흔한 원인입니다. logrotate -d로 정확한 사유를 확인하세요.

Q. copytruncate와 create의 차이는?

A. create는 새 inode를 만들고 데몬이 reopen/HUP 처리해야 하며 손실이 없습니다. copytruncate는 같은 inode를 truncate 하므로 데몬 변경 없이 동작하지만 복사~truncate 사이에 쓰여진 짧은 구간이 유실될 수 있습니다.

Q. postrotate가 매번 실행되어 무겁습니다.

A. 여러 와일드카드 경로를 한 블록에 묶고 sharedscripts 를 추가하면 블록당 1회만 실행됩니다.