[Centos7] logrotate 설정


1. logrotate 설치
[root@omnilab-web1 ~]# yum install logrotate
2. logrotate 설정
/etc/logrotate.d 경로에 로그 설정 파일 생성
[root@omnilab-web1 ~]# cd /etc/logrotate.d
[root@omnilab-web1 ~]# vim tomcat_test
    /data/tomcat_test/logs/catalina.out {
        daily
        maxage 30
        copytruncate
        missingok
        notifempty
        dateext
    }
:wq
3. logrotate 옵션

copy

로그 파일의 카피를 생성한다. 해당 옵션 사용시 create 옵션은 무효

copytruncate

카피 파일 작성 후에 오리지날의 로그 파일 내용을 지움

로그 파일을 닫지 못하고 계속 쓰고 있는 경우에 유효한 옵션이다.

파일을 카피하는 순간의 로그가 소실되는 가능성이 높음

이 옵션을 넣지 않으면 현재 사용중인 로그를 다른 이름으로 move 하고 신규 파일 생성

extention

로테이션 후의 백업 로그에 부가하는 확장자(extension)를 지정

ifroate

로그 파일이 내용이 없어도 로테이션

디폴트로 활성화 되어있음

mail

설정된 메일 주소에 메일을 발송

nomail

메일로 통보하지 않는다.

maillast

mail 옵션 사용시에 로테이션 한 파일을 메일로 출력한다.

mailfirst

mail 옵션 사용시에 로테이션 할 예정의 파일을 메일로 출력한다.

missingok

로그 파일이 발견되지 않았던 경우, 에러 메세지를 출력하지 않고 다음의 로그 파일의 처리로 이행한다.

size

size 옵션의 파라미터로서 준 수치보다 로그 파일의 사이즈가 클 경우, 로그 파일의 로테이션을 실시한다.

"M"(메가), "K"(킬로)를 지정할 수 있다.

start

로테이션 하는 경우에 부가되는 숫자의 확장자를 몇부터 시작하는지를 지정한다. 디폴트에서는 1 이다.

weekly

매주 로그를 바꾼다.

daily

매일 로그를 바꾼다.

monthly

월 단위로 로그를 바꾼다.

roate [n]

로그를 n 개분 남긴다. weeky를 지정할 경우 4주간의 로그라는 의미이다.

maxage [n]

[n]일 이상이 된 로그 파일을 삭제한다.

create

(비어있는)신규 로그 파일을 로테이션 한 직후에 작성한다.

compress

압축한다. 디폴트에서는 압축하지 않게 되어 있으므로, 디스크의 빈 용량을 보고, 유효하게 할지 지정한다.

nocompress

압축하지 않는다.

notifempty

log 내용이 없으면 rotation 하지 않는다.

ifempty

로그파일이 비어있어도 로테이트한다.

prerotate-endscript

사이의 명령어를 로그파일 처리전에 실행한다.

postrotate-endscript

사이의 명령어를 로그파일 처리 후에 실행한다.

errors [mail address]

로테이트 실행시 에러가 발생하면 이메일로 통보한다.