개발관련/서버기술관련
Nginx daily log 저장을 위한 Logrotate 설정 가이드
후니의 개발이야기
2024. 9. 9. 15:15
728x90
반응형
Logrotate란?
logrotate는 리눅스 및 유닉스 계열 운영 체제에서 로그 파일을 자동으로 관리하고 회전시키는 유틸리티입니다. 로그 파일이 과도하게 커지는 것을 방지하고, 오래된 로그를 삭제하거나 압축하여 디스크 공간을 효율적으로 사용할 수 있도록 도와줍니다.
Nginx logrotate 설정
보안팀에서 90일동안 보관을 하라고 해서 일단 거기에 맞춰서 설정을 해 봅니다.
Nginx의 로그 파일을 90일 동안 보관하려면, /etc/logrotate.d/nginx 파일을 수정하거나 새로 생성해야 합니다. 기본적으로 Nginx의 로그 파일은 /var/log/nginx/access.log 및 /var/log/nginx/error.log에 위치합니다.
Nginx logrotate 예시
/var/log/nginx/*.log {
daily # 로그 파일 주기 (매일)
missingok # 로그 파일이 없어도 에러 발생하지 않음
rotate 90 # 로그 파일을 90일 동안 보관
compress # 회전된 로그 파일 압축
delaycompress # 이전 회전된 파일을 다음 rotate 때 압축
notifempty # 로그 파일이 비어있을 경우 rotate하지 않음
create 0640 www-data adm # 새로운 로그 파일 생성 시 권한 설정
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true # Nginx 재로드
endscript
}
Logrotate 테스트
설정이 완료된 후, 다음 명령어로 logrotate를 수동으로 실행하여 설정을 테스트할 수 있습니다.
logrotate -d /etc/logrotate.conf
728x90
반응형