,,在ATS的尝试使用中、日志处理是很重要的一环,我在研究这个时候花了不少精力,首先我们测试用的ATS是5.3.2版本,默认打印的是二进制日志鱿鱼。博客,一天一切割,当然也可以变为文本日志,不过at自带的很牛逼的分析traffic_logstats就用不了的了,怎么办呢?苦思冥想,最后想了个好办法,打两套日,志文本日志存档,供我们看,二进制日志一天一删除,哈哈,问题圆满解决。为了迎合线上的访问量,日志设置为了5分钟一切割,切割后改名归档,同时又为了缩小存储空间,定义凌晨3点(访问量小)开始打包压缩,再做脚本时发现遇到跨年时会出故障,又再次做了多次优化,目前运行的还是比较健壮的,分享出来,一起研究学习。
,,ATS的日志配置不多说了,以前有介绍,下面是我写的一个处理脚本:
# !/bin/sh #作者:gaolixu BACKUP_PATH="/var/log/ats” LOG_PATH="/opt/at/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美元”,) 然后 ,,,,,,,mkdir -p BACKUP_DIR美元 ,,,,,,,if [,“$ ? !=,“0”,) ,,,,,,, ,,,,,,,,,echo “dir 错误” ,,,,,,,,,,,,,,,退出 ,,,,,,fi fi } yestzip () { gzip BACKUP_PATH/yestyear美元/yestmon/yestday/*美元 } cd LOG_PATH美元 ls * . log * old ,在/tmp/atslog.tmp for 小姐:拷贝“cat /tmp/atslog.tmp”, 做 i_time才能=' echo 小姐:美元| awk - f”[| -] ', ' {print (NF-2) (NF-1)美元}' ' i_bj才能=' echo 小姐:美元| awk - f”[| -] ', ' {print 1美元}' ' i_year才能=' echo $ {i_time: 0:4}’ i_mon才能=' echo $ {i_time: 2节}’ i_day才能=' echo $ {i_time: 6:2}’ i_hour才能=' echo $ {i_time:宣告}’ i_min才能=' echo $ {i_time:十一2}’ testdir 才能;i_year 美元;i_mon i_day美元 mv 才能LOG_PATH/小姐:美元$ BACKUP_DIR/$ {i_year} - {i_mon} - {i_day} _美元$ {i_hour} _ {i_min} _ {i_bj} . log美元 if 才能;[,“i_hour美元”=,“03”,-a “i_min美元”,=,“00”,); ,,,yestzip ,,,,rm -rf /opt/at/var/log/trafficserver/squid.blog * ,,fi done ,在/dev/null