调整ATS日志处理机制及相关脚本

2024-05-26 07:18

本文主要是介绍调整ATS日志处理机制及相关脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在ATS的尝试使用中,日志处理是很重要的一环,我在研究这个时候花了不少精力,首先我们测试用的ATS是5.3.2版本,默认打印的是二进制日志squid.blog,一天一切割,当然也可以变为文本日志,不过ATS自带的很牛逼的分析traffic_logstats就用不了了,怎么办呢?苦思冥想,最后想了个好办法,打两套日志,文本日志存档,供我们看,二进制日志一天一删除,哈哈,问题圆满解决。为了迎合线上的访问量,日志设置为了5分钟一切割,切割后改名归档,同时又为了缩小存储空间,定义凌晨3点(访问量小)开始打包压缩,再做脚本时发现遇到跨年时会出故障,又再次做了多次优化,目前运行的还是比较健壮的,分享出来,一起研究学习。

    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" ]
thenmkdir -p $BACKUP_DIRif [ "$?" != "0" ]thenecho "dir error"exitfi
fi
}
yestzip(){
gzip $BACKUP_PATH/$yestyear/$yestmon/$yestday/*
}
cd $LOG_PATH
ls *.log*old  > /tmp/atslog.tmp
for i in `cat /tmp/atslog.tmp` 
doi_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_daymv $LOG_PATH/$i $BACKUP_DIR/${i_year}-${i_mon}-${i_day}_${i_hour}_${i_min}_${i_bj}.logif [ "$i_hour" = "03" -a "$i_min" = "00" ];thenyestziprm -rf /opt/ats/var/log/trafficserver/squid.blog*fi  
done &>/dev/null


本文出自 “奔跑的linux” 博客,请务必保留此出处http://benpaozhe.blog.51cto.com/10239098/1746637

这篇关于调整ATS日志处理机制及相关脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003788

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解

SpringKafka错误处理(重试机制与死信队列)

《SpringKafka错误处理(重试机制与死信队列)》SpringKafka提供了全面的错误处理机制,通过灵活的重试策略和死信队列处理,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、Spring Kafka错误处理基础二、配置重试机制三、死信队列实现四、特定异常的处理策略五

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片