/home/jenkins/workspace/V2G-Prod-Server/logs/*log
/home/jenkins/workspace/V2G-Dev-Server/logs/*log {
daily
compress
dateext
maxage 365
notifempty
missingok
copytruncate
} | 옵션 | 설명 |
|---|---|
rotate 숫자 |
log 보관 갯수 ex) rotate 5 : log파일이 5개 이상시 삭제 |
maxage 숫자 |
log 파일 생명 주기 ex) maxage 20 : 20일 경과시 삭제 |
size |
지정된 용량보다 클 경우 로테이트 실행 ex) size +100k : 100k 이상 시 로테이트 |
daily |
일 단위 파일순환 |
weekly |
주 단위 파일순환 |
monthly |
월 단위 파일순한 |
missingok |
파일이 없어도 상관없음(에러가 아니도록 처리) |
notifempty |
로그내용이 없으면 로테이트 안함 |
ifempty |
로그 내용이 없어도 로테이트 진행 |
compress |
로그파일을 gzip으로 압축하여 보관 |
nocompress |
압축 안함 |
dateext |
rotate된 로그파일명에 날짜 표시 |
dateyesterday |
dateext 옵션과 함께 쓰면 파일명의 날짜에 어제 날짜로 저장 |
copytruncate |
이 옵션을 넣지 않으면 현재 사용중인 로그를 다른이름으로 move하고 새로운 파일을 생성한다 |
설정파일의 오류확인 - debug 모드로 실제 로테이션은 되지 않음
$ /usr/sbin/logrotate -d /etc/logrotate.d/v2g설정파일을 강제수행
$ /usr/sbin/logrotate -f /etc/logrotate.d/v2gsyslog가 순환되고 있는 것은 cat /etc/cron.daily/logrotate 파일에 정의되어 crontab에서 실행되고 있다. 로테이션을 위해 생성한 /data/logs/test_logrotate 파일을 /etc/logrotate.d/ 하위에 두면 rsyslog가 로테이션되는 시간에 같이 로테이션 된다. 또는 해당 원하는 시간에 crontab에 추가하여 별도 관리하여도 된다. 1일치 로그로 관리하기 위하여 0시에 순환되도록 아래와 같이 설정한다.
$ sudo crontab -e
0 0 * * * /usr/sbin/logrotate -f /etc/logrotate/v2g