#logrotate設定
nginxのlogがdeletedされてるのに、プロセスがいつまでも掴んだまま。
結果、サーバー容量死亡のお知らせ。
logrotateの設定ファイル(/etc/logrotate.d/nginx)を変更。
具体的には、postrotateのコマンドをkillコマンドに変更した。
変更前
/var/log/nginx/*.log {
create 0644 nginx adm
daily
rotate 7
missingok
notifempty
compress
sharedscripts
postrotate
/etc/init.d/nginx reopen_logs
endscript
}
変更後
/var/log/nginx/*.log {
create 0644 nginx adm
daily
rotate 7
missingok
notifempty
compress
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
reopenとkillは意味が同じはずなので、なぜこれでできたの?と知り合いに聞かれて私もわからん…。
純粋に再起動後にlogrotateおかしくなったので、そのときのrestartがうまくいかなかったのかも?