sudo vi /etc/logrotate.d/nginx


/var/log/nginx/*.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 640 www-data www-data
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
create 640 www-data www-data
create 에는 파일권한 숫자값, www-data(소유자), www-data(그룹)
이 따라오는데 nginx설정에 보면
/etc/nginx/nginx.conf

기본 conf, 맨 위에 있는 유저정보와 값을 맞춰줘야 한다.
sharedscripts :스크립트가 시작점
endscript : 스크립트 끝점
postrotate라는 이벤트 받으면 로테이트가 완료될 때 뭐할거냐?
Nginx의 pid값을 가져와서 그 친구한테 USR1이라는 시그널 날릴 거다.
kill은 죽이겠다는 게 아니고 시그널 보내는 것.
kill -9해야 강제종료 하는 것이고
kill -USR1 : USR1 시그널 보내다
nginx는 USR1 시그널을 받아야 로그 파일을 새로 읽는다.
nginx 구현상 약속된 시그널이다.
logrotate -d -f /etc/logrotate.d/nginx
-D (디버깅) -F (파일을 검증하겠다)
여기서 에러 로그가 안 남으면 제대로 벨리데이션이 된 것이다.

-d 옵션을 꺼보자.
logrotate -f /etc/logrotate.d/nginx

이렇게 에러로그 없이 제대로 벨리데이션된 것을 확인할 수 있따.