您的位置:首页 > 产品设计 > UI/UE

Request错误监控脚本

2015-09-19 18:23 495 查看
第一次写的脚本

1#!/bin/bash
2 #This is a ShellScript For HTTP ERR count script
3 #2014-11-10
4
5 #调用脚本
6 source /leave/boman/script/functions.sh
7
8 #日志目录  备份目录  删除备份日志的记录
9 log_path=/leave/boman/wlptest/monitor.txt
10 backUp_path=/leave/boman/wlptest/logLogs
11 mailAddsFile=/leave/boman/script/email/mailAdds.txt
12
13 #请求错误出现次数的阀值
14 errLimitNum=5;
15
16 #根据错误类型和log文件路径获取错误的数量
17 function countNumOfErrType(){
18     fileLocation=$1
19     type=$2
20     count=`cat $fileLocation | grep $type | wc -l`
21     echo $count
22     return $count
23 }
24
25 #统计错误数量
26 count404=`countNumOfErrType $log_path 404`
27 count500=`countNumOfErrType $log_path 500`
28 count403=`countNumOfErrType $log_path 403`
29 count=$[ $count403+$count404+$count500 ]
30
31 #超过n次发送邮件
32 content="访问错误404:$count404次,500:$count500次,403:$count403次,超过5次请排查错误"
33 theme="log_errNum_count_info"
34
35 if [[ $count != '' ]] ; then
36     if [ $count -ge $errLimitNum ] ; then
37         echo "err over $errLimitNum times,deal with it"
38         sendMail "$theme" "$content" "$mailAddsFile"
39         if [[ $? -eq 0 ]]; then
40             echo "发邮件成功!"
41         else
42             echo "发邮件失败!"
43         fi
44     fi
45 fi
46
47 #复制日志内容到备份文件夹下 清空日志内容
48 nowTime=`date '+%Y-%m-%d-%H-%M-%S'`
49 cp $log_path $backUp_path/$nowTime.txt
50 echo > $log_path
51 if [[ $? -eq 0 ]]; then
52     echo "备份清空成功!"
53 else
54     echo "备份清空失败!"
55 fi
56
57 #删除备份日志中两天前的日志
58 find $backUp_path -mmin +1 | xargs rm -rf
59 if [[ $? -eq 0 ]]; then
60     echo "Delete Old ErrBeifenFile Success!"
61 else
62     echo "Delete Old ErrBeifenFile Failed! or have not to need delete"
63 fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: