我正在使用 logrotated 来旋转 gunicorn 访问日志。这是我的 logrotated 配置
/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 将重新启动,磁盘空间最终被释放。
如何以比重新启动服务更清洁的方式释放磁盘空间?