统计日志10分钟内出现的次数

本文介绍了一种使用Shell脚本来处理特定目录下包含Facebook日志文件的方法。该脚本能够逐个读取文件,并统计指定时间段内特定类型的日志条目数量,包括任务执行次数及错误发生次数。通过这种方式,可以有效地进行日志分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

logHome=/data/server/tomcats/tomcat7_8180_apiService/logs
resultLog=/data/shell/result_fetch.out
cd $logHome
filelist=`ls $logHome|grep -w FACEBOOK20140723`
for file in $filelist
do
 if test -f $file
   then
      echo "$file :" >>$resultLog
      startTime="00:00:00"
      endTime="00:10:00"
     for time in $(seq 1 144)
      do
      taskCounter=`grep 'use local address:' $file|awk '{print $2}'|awk -F "," '{if($1>="'$startTime'"&&$1<"'$endTime'") {print $1}}'|wc -l`
      errorCounter=`grep 'invalid,change token:' $file|awk '{print $2}'|awk -F "," '{if($1>="'$startTime'"&&$1<"'$endTime'") {print $1}}'|wc -l`
        echo "[$startTime~$endTime]:  抓取总数:$taskCounter    重试总次数:$errorCounter" >> $resultLog
        startTime=$endTime
        temp=$(date +%s -d "$startTime")
        temp=$(($temp+10*60))
        endTime=`date +%T -d "1970-01-01 UTC $temp seconds"`
     done
 fi
done

 

#!/bin/bash

logHome=/data/server/tomcats/tomcat7_8380_controlService/logs
resultLog=/data/shell/result.out
cd $logHome
filelist=`ls $logHome|grep FACEBOOK`
for file in $filelist
do
 if test -f $file
   then
      echo "$file :" >>$resultLog
      startTime="00:00:00"
      endTime="00:10:00"
     for time in $(seq 1 144)
      do
        taskCounter=`grep 'doSearchTask===>task:' $file|awk '{print $2}'|awk -F "," '{if($1>="'$startTime'" && $1<"'$endTime'") {print $1}}'|wc -l`
        errorCounter=`grep 'OAuthException,code:613' $file|awk '{print $2}'|awk -F "," '{if($1>="'$startTime'" && $1<"'$endTime'") {print $1}}'|wc -l`
        echo "[$startTime~$endTime]:  任务总数:$taskCounter  异常总数:$errorCounter" >> $resultLog
        startTime=$endTime
        temp=$(date +%s -d "$startTime")
        temp=$(($temp+10*60))
        endTime=`date +%T -d "1970-01-01 UTC $temp seconds"`
     done
 fi
done

 

转载于:https://www.cnblogs.com/cornerxin/p/9300146.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值