在线上环境中,新建的CDN节点的内容分发由Tengine负责,Tengine的其中一个特性就是可以设置日志的自动切割,只需要在配置文件中设置类似参数:
access_log logs/access-$year-$month-$day.log main;
原有的节点由于仍然使用Nginx,没有这个配置,所以需要每天定时切割日志文件,脚本如下:
#!/bin/bash
SAVEPATH_LOG='/usr/local/nginx/logs'
NGLOGS='/usr/local/nginx/logs'
mv $NGLOGS/access.log $SAVEPATH_LOG/access-$(date -d "yesterday" +%Y-%m-%d).log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
然后由Cron进行定时切割