apache 로그정리 (logrotate)

by 조쉬 posted Feb 27, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
로그 로테이션이 안되있을 경우, 로그로인해 하드 용량이 부족한 경우가 생기거나,
access log 가 1G 이상 쌓일 경우 apache 처리 성능이 많이 떨어지게 된다.
rpm 설치의 경우 로테이션이 설정되며, 소스 컴파일의 경우 로그 로테이션 설정을 해줘야 한다.
/etc/logrotate.conf - 설정 파일
/etc/logrotate.d - 설정디렉토리

/etc/logrotate.d/apache 파일을 만든다.

파일을 만들고 밑에 있는 파일을 적어넣는다.
------------------------------------------------------------------------

# system-specific logs may be also be configured here.
/usr/local/apache/logs/access_log {
daily
rotate 30
create 0664 root root
size=100M
postrotate
/usr/bin/killall -HUP httpd
endscript
}

/usr/local/apache/logs/error_log {
daily
rotate 30
create 0664 root root
size=100M
postrotate
/usr/bin/killall -HUP httpd
endscript
}
-----------------------------------------------------------------------------
경로 부분은 설치 경로에 맞춰 수정이 필요하다.

매일 로그가 로테이트 되고, 최대 100M 용량으로 30일치 로그를 보관하는 설정이다.

위와 같이 다적었으면,

logrotate -d /etc/logrotate.conf 해준다

에러 메세지가 없으면 성공.

crond 데몬이 실행되있어야하며,

logrotate 는 /etc/cron.daily 에 등록 되어 있어 하루에 한번씩 새벽 4시 03분에 작동한다.



옵션
create mode owner group -보통 로그 파일 처리시에는 원래 로그 파일의 이름을 바꾸고 새로운 로그 파일을 생성하지만 이 옵션을 사용하면 현재 로그 파일의 내용을 복사하고 로그 파일의 크기를 0으로 만든다.
daily, weekly, monthly - 각각 매일, 매주, 매달 로그 파일을 처리한다.
rotate - 로그 파일은 지정한 수만큼 저장된 다음 제거되거나 메일로 보내진다. 만일 0을 지정하면 보관하지 않고 바로 처리한다.
size - 로그 파일의 크기가 지정한 크기 이상이 되면 처리한다. 크기는 M,k 단위를 사용하여 지정할 수 있다.
compress - 오래된 로그 파일들은 gzip으로 압축하여 보관한다. 압축을 원하지 않을 경우 nocompress를 사용
postrotate - 로그 파일 처리후에 실행할 명령들을 지정한다.