今日同事向我求助说客户公司使用自行编译安装NGINX 1.2.7版本不能按天保存日志文件,也就是说并没有每天将日志文件重新生成。请教我看有没有办法帮忙解决。
一开始我提供了两种每个人都能想到的办法,那就是直接将文件mv一下,按常理来说程序会自动从新生成日志。马上我就的得到了满意的答复,已经试过了不行。
立即提供第二种解决方案:
mv之后,再用touch命令创建一个日志,好! 想到就立即动手测试; 结果是出乎预料的: 不成功。 nginix还是没有继续写日志
经过了短暂的思索之后,我想到了第三种解决方案:
先使用cp命令将当前日志文件复制一份儿,然后使用linux系统内建命令将当前日志文件清空。 恭喜: 测试成功。
马上写了一个小脚本,让它1分钟运行一次啊,然后观察原有日志文件及时候已经复制促多个日志文件; 很兴奋它乖乖的听话了。nginx也没有中断日志写入。
这样做问题是解决了,此时新的问题也随之产生了:
复制日志文件到清空文件再到继续写入日志,中间肯定会有时间差异,这个时间区间要求写入的文件是否存在。是否会照成日志记录丢失的问题
阅读(2974) | 评论(0) | 转发(0) |