在实际环境中, 由于nginx会产生大量日志, 所以会按照以天为单位对日志文件进行分隔
我有个问题, 就是nginx在日志正在备份并创建新日志文件时, 此时的请求日志会丢失么?
在实际环境中, 由于nginx会产生大量日志, 所以会按照以天为单位对日志文件进行分隔
我有个问题, 就是nginx在日志正在备份并创建新日志文件时, 此时的请求日志会丢失么?
如果你用的是logrotate的话,不会的。
Linux下的每个文件会自带一个表示inode,logrotate首先重命名正在写入的日志文件(一般是给文件名添加当前日期),而这个文件的inode没变,nginx还是依据inode来找到这个文件往里写。
然后logrotate会通知nginx需要另外打开新的日志文件来写入,那么nginx会再打开新的日志文件来写入,命名和原来保持一致。
如此而已。
你可以再看看这篇文章how-logrotate-works。
2 回答2.5k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
1 回答730 阅读
564 阅读
你是怎么以什么方式进行分割的?一般如果用shell来处理的话不会存在丢失的情况。