1. 개요
logrotate 는 시스템에 있는 모든 로그 파일들을 관리할 수 있으며, 이 로그파일들을 자르고, 보관하고, 삭제하고, 압축하고, 메일로 보내주는 등의 다양한 작업을 할 수 있는 로그관리 유틸리티이다.
2. 파일구성
/usr/sbin/logrotate : logrotate 의 데몬 프로그램, crond 에 의해 주기적으로 실행
/etc/logrotate.conf : logrotate 가 실행되면서 읽어들인 후 각각의 로그파일들을 이 파일의 설정에 의해 자르거나, 삭제하거나 하는 등의 작업을 수행한다.
/etc/logrotate.d : 각각의 로그파일들에 대한 개별적인 설정파일들이 존제하는 디렉토리이며, 추가로 적용할 로그파일에 대한 설정을 할 수 있다.
3. 설정
설정은 해당 로그와 {} 사이에 값을 설정하는것으로 한다.
예제
/var/log/messages
대상 로그파일. logrotate 에 의해서 작업될 로그파일의 절대경로로 지정
monthly
대상 로그파일을 순환시킬 주기 ( daily 하루 주기, weekly 한주 주기, monthly 한달 주기)
compress
순환된 로그파일이 gzip에 의해서 압축( uncompress 압축하지 않음 )
rotate 2
순환되는 파일 개수 지정( 0부터 시작하게 되며, monthly 로 지정했기때문에 2달간 로그파일이 저장됨)
mail
순환되어 저장된 갯수를 지나게되는 로그파일은 지정된 메일주소로 발송 (nomail 메일을 보내지 않음)
errors
지정된 로그파일의 순환작업시에 에러가 발생하면 지정된 메일로 해당 내용을 발송
postrotate / endscript
지정된 로그파일에 순환작업이 끝나고 난 이후 실행할 작업에 대한 설정( 대부분 순환된 로그 파일의 데몬을 재시작하는 등의 작업이 지정됨)
prerotate / endscript
postrotate 와 반대의 설정으로 순환작업 전에 실행학 작업에 대한 설정
size 100M
순환된 결과 파일 사이즈가 지정한 크기를 점지 않도록 설정
4. 옵션
출처>
http://blog.nextcube.pe.kr/tag/logrotate
logrotate 는 시스템에 있는 모든 로그 파일들을 관리할 수 있으며, 이 로그파일들을 자르고, 보관하고, 삭제하고, 압축하고, 메일로 보내주는 등의 다양한 작업을 할 수 있는 로그관리 유틸리티이다.
2. 파일구성
구분 | 위치 및 실행방법 |
설명 |
데몬 | /usr/sbin/logrotate |
데몬의 위치 및 데몬 프로그램 |
데몬 설정파일 |
/etc/logrotate.conf | 설정파일 |
설정디렉토리 | /etc/logrotate.d | logrotate 에 적용할 각종 로그 파일들을 보관하는 디렉토리 |
상황파일 | /var/lib/logrotate.status | logrotate 작업내역을 보관하는 파일 |
cron | /etc/cron.daily/logrotate | logrotate 는 주기적으로 실행되야 하므로 cron에 의해 일단위로 실행됨 |
/usr/sbin/logrotate : logrotate 의 데몬 프로그램, crond 에 의해 주기적으로 실행
/etc/logrotate.conf : logrotate 가 실행되면서 읽어들인 후 각각의 로그파일들을 이 파일의 설정에 의해 자르거나, 삭제하거나 하는 등의 작업을 수행한다.
/etc/logrotate.d : 각각의 로그파일들에 대한 개별적인 설정파일들이 존제하는 디렉토리이며, 추가로 적용할 로그파일에 대한 설정을 할 수 있다.
3. 설정
설정은 해당 로그와 {} 사이에 값을 설정하는것으로 한다.
log {
setting value
}
예제
/var/log/messages {
monthly
compress
rotate 2
mail gwg14@naver.com
errors gwg14@naver.com
postroatate
/bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true
endscript
compress
rotate 2
mail gwg14@naver.com
errors gwg14@naver.com
postroatate
/bin/kill -HUP 'cat /var/run/syslogd.pid 2> /dev/null' 2> /dev/null || true
endscript
}
/var/log/messages
대상 로그파일. logrotate 에 의해서 작업될 로그파일의 절대경로로 지정
monthly
대상 로그파일을 순환시킬 주기 ( daily 하루 주기, weekly 한주 주기, monthly 한달 주기)
compress
순환된 로그파일이 gzip에 의해서 압축( uncompress 압축하지 않음 )
rotate 2
순환되는 파일 개수 지정( 0부터 시작하게 되며, monthly 로 지정했기때문에 2달간 로그파일이 저장됨)
순환되어 저장된 갯수를 지나게되는 로그파일은 지정된 메일주소로 발송 (nomail 메일을 보내지 않음)
errors
지정된 로그파일의 순환작업시에 에러가 발생하면 지정된 메일로 해당 내용을 발송
postrotate / endscript
지정된 로그파일에 순환작업이 끝나고 난 이후 실행할 작업에 대한 설정( 대부분 순환된 로그 파일의 데몬을 재시작하는 등의 작업이 지정됨)
prerotate / endscript
postrotate 와 반대의 설정으로 순환작업 전에 실행학 작업에 대한 설정
size 100M
순환된 결과 파일 사이즈가 지정한 크기를 점지 않도록 설정
4. 옵션
-f, --force : 강제순환.
-s, --state <statefile> : 기본 상황파일 대신 지저한 상황 파일을 사용
--usage : 사용법 출력
-s, --state <statefile> : 기본 상황파일 대신 지저한 상황 파일을 사용
--usage : 사용법 출력
출처>
http://blog.nextcube.pe.kr/tag/logrotate