我用 nginx 运行乘客,几个月前我删除了一个用完磁盘空间的 nginx 日志文件,特别是 /var/log/nginx/error.log.1,大小约为 5GB,然后重新配置 logrotate 以保留日志文件大小减小。一切都很好,直到几天后,乘客进程以某种方式回收了已删除的文件(如 lsof +L1 所示)。看起来删除的文件的大小增加了,所以显然它正在被写入。我也不确定它为什么要写入 error.log.1,因为那是一个旋转的日志文件(虽然已经很长时间了,但我不确定我是否将 error.log 重命名为 error.log.1删除/移动东西,这可能与问题有关)通过 touch tmp/restart.txt 重新启动乘客没有'
现在真正奇怪的部分是从那时起系统已经重新启动并且问题仍然存在。几天或几周过去了,然后突然可用磁盘空间缩小,我检查 lsof +L1 并且再次删除了文件。这到底是怎么回事?知道这是如何发生的会很有趣,并且知道我如何能够阻止它再次发生会很有帮助。谢谢。
日志旋转 conf 如下所示: /var/log/nginx/*.log { daily missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate [ ! -f /var/run/nginx.pid ] || 杀死 -USR1cat /var/run/nginx.pid
结束脚本 }