1시간 동안 로그가 많이 쌓일 때도 있지만,
로그가 많이 쌓이지 않을 때도 있을 수 있습니다.
logrotate 를 사용하세요.

logrotate 를 사용하면 지정한 용량보다 로그 화일의 크기가 커질 경우에만
새로운 로그 파일을 생성하고 지정한 용량까지 찬 화일은 따로 보관 합니다.

아래 내용을 /etc/logrotate.conf 에 넣어두면
 /usr/local/apache/logs/access_log  이 100MB 가 넘을 때마다
access_log.0
access_log.1
순서로 로그 화일을 백업하도록  설정할 수 있습니다.
아래에 rotate 가 3으로 지정되어 있기 때문에
로그 파일이 3개가 넘으면 가장 오래된 파일은 새로운 로그 화일이 생성될 때마다 자동으로 지워집니다.

 /usr/local/apache/logs/access_log  {
           rotate 3
           size=100M
           sharedscripts
           postrotate
                /bin/kill -hup `cat /usr/local/apache/logs/httpd.pid`
           endscript
}

/etc/logrotate.conf 에 설정된 내용을 실행하는 명령은
/usr/sbin/logroate /etc/logrotate.conf 입니다.
위 내용은 /etc/cron.daily  , /etc/cron.monthly 등등의 디렉토리 속에있는
logrotate 파일 속에 들어있습니다. 확인해 보세요.
위 /etc/cron.daily/logrotate  를 /etc/cron.hourly/ 에 넣어두면
한 시간 마다  /usr/local/apache/logs/access_log 가 100MB 가 넘었는지 체크해서 넘었을 경우에 로그화일을 rotate시킵니다.

conf 화일의 내용 중
/bin/kill -hup httpd프로세스아이디 부분은 로그 화일이 변경될 때 꼭 해 주어야 합니다.
만약 위 부분이 없을 경우 아파치 서버에 이상이 생길 수 있습니다.
2010/06/07 14:01 2010/06/07 14:01

Trackback Address :: https://youngsam.net/trackback/1230