logrotated を使用して、gunicorn アクセス ログをローテーションしています。これは私のログローテーション構成です
/opt/api/log/access.log {
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
killall -s USR1 gunicorn
endscript
}
ログは正しくローテーションされ、圧縮され、新しい access.log が作成されます。ただし、gunicorn は古いログ ファイルへの「ポインタ」を解放しないため、ローテーションによって実際にディスク領域が解放されるわけではありません。
私はまだそれのエントリを見ることができますlsof
を実行するinitctl restart api
と、gunicorn が再起動し、ディスク領域が最終的に解放されます。
サービスを再起動するよりもクリーンな方法でディスク領域を解放するにはどうすればよいですか?