在ATS的尝试使用中,日志处理是很重要的一环,我在研究这个时候花了不少精力,首先我们测试用的ATS是5.3.2版本,默认打印的是二进制日志squid.blog,一天一切割,当然也可以变为文本日志,不过ATS自带的很牛逼的分析traffic_logstats就用不了了,怎么办呢?苦思冥想,最后想了个好办法,打两套日志,文本日志存档,供我们看,二进制日志一天一删除,哈哈,问题圆满解决。为了迎合线上的访问量,日志设置为了5分钟一切割,切割后改名归档,同时又为了缩小存储空间,定义凌晨3点(访问量小)开始打包压缩,再做脚本时发现遇到跨年时会出故障,又再次做了多次优化,目前运行的还是比较健壮的,分享出来,一起研究学习。
成都创新互联公司专注于企业成都营销网站建设、网站重做改版、城区网站定制设计、自适应品牌网站建设、HTML5建站、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为城区等各大城市提供网站开发制作服务。ATS的日志配置不多说了,以前有介绍,下面是我写的一个处理脚本:
#!/bin/sh #writer:gaolixu BACKUP_PATH="/var/log/ats" LOG_PATH="/opt/ats/var/log/trafficserver" yestday=`date -d yesterday +%d` yestmon=`date -d yesterday +%m` yestyear=`date -d yesterday +%Y` testdir(){ BACKUP_DIR=$BACKUP_PATH/$1/$2/$3 if [ ! -d "$BACKUP_DIR" ] then mkdir -p $BACKUP_DIR if [ "$?" != "0" ] then echo "dir error" exit fi fi } yestzip(){ gzip $BACKUP_PATH/$yestyear/$yestmon/$yestday/* } cd $LOG_PATH ls *.log*old > /tmp/atslog.tmp for i in `cat /tmp/atslog.tmp` do i_time=`echo $i |awk -F'[.|-]' '{print $(NF-2)$(NF-1)}'` i_bj=`echo $i |awk -F'[.|-]' '{print $1}'` i_year=`echo ${i_time:0:4}` i_mon=`echo ${i_time:4:2}` i_day=`echo ${i_time:6:2}` i_hour=`echo ${i_time:8:2}` i_min=`echo ${i_time:11:2}` testdir $i_year $i_mon $i_day mv $LOG_PATH/$i $BACKUP_DIR/${i_year}-${i_mon}-${i_day}_${i_hour}_${i_min}_${i_bj}.log if [ "$i_hour" = "03" -a "$i_min" = "00" ];then yestzip rm -rf /opt/ats/var/log/trafficserver/squid.blog* fi done &>/dev/null
自建个人原创站运维网咖社(www.net-add.com),新的博文会在网咖社更新,欢迎浏览。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。