logrotate
(Last Updated On: February 12, 2020)
로그를 돌려라~
RHEL 7
yum install logrotate
Example
Nginx
write an service file
/etc/logrotate.d/nginx
/var/log/nginx/*.log { weekly rotate 10 compress dateext dateformat -%Y%m%d postrotate systemctl reload nginx endscript }
daily, weekly, monthly, yearly?
rotate 10 로그파일을 10개남김
compress 압
daily | weekly | monthly | yearly? | 언제 |
rotate 10 | 로그파일 10번마다 교체 |
size 123456 | 123456 바이트마다 로그교체 (weekly, … 보다 우선) |
compress | 로그파일 gzip 압축 |
dateext | 로그파일명을 번호 대신 날짜로 붙임 |
dateformat -%Y%m%d | 날짜 붙이는 형식을 지정. %Y %m %d 세 변수만 사용가능 |
prerotate | postrotate blah_scripts endscript | 로그저장 전/후 사용할 스크립트 지정. 프로그램들이 계속쓰고있던 로그 파일포인터에 쓰려고 하므로, 중간에 로그 파일을 삭제하면 그 이후로 로깅이 안 되는 현상이 있다. 그러니까 프로세스를 죽인다. |
testing
logrotate –force -v /etc/logrotate.d/