Nginx 删除的日志文件神秘地重新出现

Nginx 删除的日志文件神秘地重新出现,nginx,passenger,logfile,Nginx,Passenger,Logfile,我使用nginx运行passenger,几个月前我删除了一个占用我磁盘空间的nginx日志文件,具体是/var/log/nginx/error.log.1,大小约为5GB,然后重新配置logrotate以减小日志文件的大小。一切都很好,直到几天后,乘客进程以某种方式回收了删除的文件(如lsof+L1所示)。似乎删除的文件的大小增加了,所以很明显它正在写入。我也不确定它为什么要写入error.log.1,因为这是一个旋转的日志文件(虽然时间太长了,但我不确定在删除/移动东西时是否将error.lo

我使用nginx运行passenger,几个月前我删除了一个占用我磁盘空间的nginx日志文件,具体是/var/log/nginx/error.log.1,大小约为5GB,然后重新配置logrotate以减小日志文件的大小。一切都很好,直到几天后,乘客进程以某种方式回收了删除的文件(如lsof+L1所示)。似乎删除的文件的大小增加了,所以很明显它正在写入。我也不确定它为什么要写入error.log.1,因为这是一个旋转的日志文件(虽然时间太长了,但我不确定在删除/移动东西时是否将error.log重命名为error.log.1,这可能与问题有关)通过touch tmp/restart.txt重新启动passenger不会改变lsof+L1,也不会回收磁盘空间,但重新启动nginx确实如此。
现在真正奇怪的是,从那时起系统已经重新启动,问题仍然存在。几天或几周过去了,然后可用磁盘空间突然缩小,我检查lsof+L1,然后又出现了删除的文件。这到底是怎么回事?知道这是怎么发生的很有意思,知道我怎样才能阻止它再次发生也很有帮助。谢谢

日志文件如下所示: /var/log/nginx/*.log{ 每日的 米森戈克 轮换52次 压缩 延迟压缩 notifempty 创建640根adm 共享脚本 后旋转 [!-f/var/run/nginx.pid]| | kill-USR1
cat/var/run/nginx.pid
尾稿
}

我知道这是一个旧线程,但我猜是nginx服务重新启动,释放了已删除日志文件上的锁,因为“突然可用磁盘空间缩小”(如果删除一个具有打开句柄的文件,它将显示您描述的行为,直到释放该句柄)。听起来好像logrotate函数没有导致nginx释放句柄?

我知道这是一个旧线程,但我猜是nginx服务重新启动,释放了删除日志文件上的锁,因为“突然可用磁盘空间缩小”(如果您删除一个具有打开句柄的文件,它将显示您描述的行为,直到释放该句柄为止)。听起来logrotate函数并没有导致nginx释放句柄?

您可以同时显示您的logrotate配置吗?/var/log/nginx/*.log{daily missingok rotate 52 compress delaycompress notifempty创建640个根adm共享脚本postrotate[!-f/var/run/nginx.pid]| | kill-USR1
cat/var/run/nginx.pid
endscript}您能同时显示您的logrotate配置吗?/var/log/nginx/*.log{daily missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate[!-f/var/run/nginx.pid]| | kill-USR1
cat/var/run/nginx.pid
endscript}我想你是对的…现在我只需要弄清楚为什么我试图删除am Apache错误日志文件,但它不断出现。我如何摆脱它?它很大。我想你是对的…现在我只需要弄清楚为什么我试图删除am Apache错误日志文件,但它不断出现。我如何摆脱它?它很大。