[Linux] logrotate를 이용한 로그파일 관리
logrotate를 이용한 로그파일 관리
버젼확인
logrotate --version
로그로데이트
example-app 파일 생성
vi /etc/logrotate.d/example-app
/var/log/example-app/*.log { // /var/log/example-app/ 에있는 모든 log파일(*.log) 파일에 적용한다.
daily // 매일실행, hourly : 매시간
missingok
rotate 14
compress
notifempty
create 0640 www-data www-data
sharedscripts
postrotate
systemctl reload example-app
endscript
}
- rotate 12: 로그파일을 12개까지 보관한다.
- monthly, daily, hourly.. : 로테이트주기 (매월, 매일, 매시)
- compress: 로테이트 파일을 압축한다. 기본적으로 gzip 으로 압축하는데 파일은 파일명.gz 처럼 압축된다.
- missingok: 로그파일이 존재 하지 않더라도 에러메시지를 출력하지 않는다.
- notifempty: 빈파일이라면 로테이트 하지 않는다.
- create 0640 www-data www-data : 정의된 퍼미션과 소유자로 생성한다.
- haredscripts: configuration에 추가된 스크립트는 실행시 한번만 실행된다.