logrotate 간단 설정

리눅스/OS 일반|2014. 12. 30. 23:29
반응형

로그로 인한 서버 부하시 조치하는 방법입니다.



1. logrotate 설정

apache 모든 log 파일
- 주기 : 매일 또는 로그 용량이 10M 가 되었을때
- 결과 : 파일 백업 후, 새 로그파일 생성
- 보관 : 3개 까지 보관
- 로그 파일이 없어도 괜찮음 (missingok)


# vi /etc/logrotate.d/apache

 /usr/local/apache/logs/*_log {
    daily
    rotate 3
    size=10M
    missingok
    create 0600 root root
    postrotate
        /bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}

 

* 참고

1) 로그 파일명 

로그가 쌓이는 파일명을 잘 지정해놔야 합니다.

 /usr/local/apache/logs/* 같이 할 경우 rotate 된 파일까지 다시 rotate 가 되므로 

 /usr/local/apache/logs/apache.log 와 같이 해당 로그만 rotate 될 수 있도록 해야 합니다.

 

2) PDNS 의 경우

PDNS 의 경우 아래와 같이 합니다.

PowerDNS 의 경우 로컬 syslog 에 기록하므로 로그 파일을 회전할 때 HUP 신호를 보내야 하는 것은 syslog 데몬입니다.

PowerDNS에 신호를 보낼 필요가 없습니다.

    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript


2. 실행 TEST

 

cron 설정으로 매일 또는 일정 시간에 실행 되도록 합니다. (기본 설정)

강제 실행으로 정상적으로 작동하는지 바로 확인이 가능합니다.
> 로그파일 용량 보다 작게 설정하여 (사이즈 변경) 실행하면 확인이 쉽습니다.

# logrotate -f /etc/logrotate.d/apache

반응형

댓글()