【发布时间】:2014-07-31 12:17:18
【问题描述】:
我正在使用 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 将重新启动并最终释放磁盘空间。
如何以比重启服务更干净的方式释放磁盘空间?
【问题讨论】:
-
您找到解决方案了吗?可以分享一下配置文件吗?
-
gunicorn 错误修复已于 11 月发布 (github.com/benoitc/gunicorn/releases/tag/19.4)。如果您使用的是较新版本的 gunicorn,您应该不会遇到此问题,如果您仍然看到它,您应该使用 gunicorn 提交错误
-
你能分享配置文件吗,我在任何地方都找不到?
-
gunicorn documentation 现在推荐重启命令:
kill -USR1 $(cat /var/run/gunicorn.pid)