로그 남길 때 그냥 주구장창 남기면 디스크가 꽉 찬다.
/var/log 아래 남는 log 들처럼 주기적으로 gzip으로 압축하고, 오래된 로그는 저절로 지워지도록 하고 싶을 때 logrotate를 쓴다.
logrotate를 설정해서 주기마다 압축해서 남기고, 때 되면 지우도록 만들자.
아래 명령은 도움말인 man page를 보여 준다.
# man logrotate
logrotate의 설정 파일들은 아래에서 찾을 수 있다.
/etc/logrotate.conf : logrotate의 기본 설정 파일. 여기서 /etc/logrotate.d/ 아래의 파일들을 include 하도록 되어 있다.
/etc/logrotate.d/ : logrotate를 사용해서 로그를 남기고 싶은 유틸리티들이 여기다 설정 파일을 둔다.
예제를 보자.
# vi /etc/logrotate.d/mysqlmon
/var/log/mysqlmon/mysqlmon.log /var/log/mysqlmon/mysqlmon.err {
daily
missingok
rotate 7
compress
notifempty
}
위의 예제의 각 옵션은 다음과 같다.
daily: 하루 주기
missingok: 로그 파일이 없어도 에러 메시지를 쓰지 않는다.
rotate 7: 오래된 로그를 7개 남긴다.
compress: gzip으로 압축한다.
notifempty: 로그 파일이 비어 있으면 rotate하지 않는다.
다른 자세한 옵션은 man page를 참고하자.