脚本内容
#!/bin/sh
currDate=(2016-02-08 2016-02-09 2016-02-10 2016-02-11 2016-02-12 2016-02-13 2016-02-14)
#currDate=(2016-02-08)
#currHour=(00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23)
currHour=(11 12 13 14 15)
currMin=(0 1 2 3 4 5)
currDir=/home/cec/tmp
logDir=/home/cec/ngc/tomcat/logs
machineID=250
port50=5020
port63=3060
sumTmp=0
# copy 需要处理的文件
for var in ${currDate[@]}
do
echo $var
if [ ! -f "${currDir}/catalina.out.${var}" ]; then
echo ${currDir}/catalina.out.${var}
#cp ${logDir}/catalina.out.${var}.gz ${currDir}
#gunzip ${currDir}/catalina.out.${var}.gz
fi
rm -rf /home/cec/tmp/${var}_ng_version_${port50}.log
rm -rf /home/cec/tmp/${var}_ng_version_${port63}.log
#rm -rf /home/cec/tmp/${var}_ng_version2.log
# 在多个文件中查找关键字
files=$(ls /home/cec/.ngc/logs/ngc.ticket.${var}.*)
for fileName in ${files[@]}
do
echo ${fileName}
#grep -A1 -B2 "ID_DLockSeat\"" ${fileName} >> /home/cec/tmp/${var}_ng_version2.log
grep -A1 -B2 "ID_DLockSeat\"" ${fileName} | grep -A2 -B1 ":${port50}/scts.service" >> /home/cec/tmp/${var}_ng_version_${port50}.log
grep -A1 -B2 "ID_DLockSeat\"" ${fileName} | grep -A2 -B1 ":${port63}/scts.client" >> /home/cec/tmp/${var}_ng_version_${port63}.log
#tmpNum=`grep "2016-02-08 11:1.*http-bio.*调用" ${fileName} | wc -l`
#if [ $tmpNum -gt 0 ]; then
# echo ${fileName}$tmpNum
#fi
#sumTmp=`expr $sumTmp + $tmpNum`
done
#echo $sumTmp
#ls /home/cec/.ngc/logs/ngc.ticket.${var}.* | xargx grep --color -A2 -B1 ":${port50}/scts.service" > /home/cec/tmp/${var}_${port50}.log
#ls /home/cec/.ngc/logs/ngc.ticket.${var}.* | xargx grep --color -A2 -B1 ":${port63}/scts.service" > /home/cec/tmp/${var}_${port63}.log
done
#提取关于锁座的请求和错误日志
for var in ${currDate[@]}
do
echo $var
if [ -f "${currDir}/catalina.out.${var}" ]; then
#grep --color -B3 "NgTicketService.lockSeat(" ${currDir}/catalina.out.${var} > ${var}_lockSeat.log
#grep -A2 "lockSeats\." ${currDir}/catalina.out.${var} > ${var}_all_lockSeats.log
echo ${currDir}/catalina.out.${var}
fi
done
lock_file_name=${currDir}/${machineID}_lock_result`date +"%F_%H:%M:%S"`.log
ng_file_name=${currDir}/${machineID}_ng_result`date +"%F_%H:%M:%S"`.log
# 锁座日志查询分析
for var in ${currDate[@]}
do
for varHour in ${currHour[@]}
do
for varMin in ${currMin[@]}
do
echo "$var\ $varHour:${varMin}"
tmpTime="$var $varHour:${varMin}"
#tmpErrNum=`grep "$var\ $varHour:${varMin}" ${currDir}/${var}_lockSeat.log | wc -l`
#tmpAllNum=`grep "$var\ $varHour:${varMin}" ${currDir}/${var}_all_lockSeats.log | wc -l`
#tmp001Num=`grep -A2 "$var\ $varHour:${varMin}" ${currDir}/${var}_all_lockSeats.log | grep "\"001\"" | wc -l`
#tmp240Num=`grep -A2 "$var\ $varHour:${varMin}" ${currDir}/${var}_all_lockSeats.log | grep "\"240\"" | wc -l`
#tmpAllMYNum=`grep "$var\ $varHour:${varMin}.*00002" ${currDir}/${var}_all_lockSeats.log | wc -l`
#tmp001MYNum=`grep -A2 "$var\ $varHour:${varMin}.*00002" ${currDir}/${var}_all_lockSeats.log | grep "\"001\"" | wc -l`
#tmp240MYNum=`grep -A2 "$var\ $varHour:${varMin}.*00002" ${currDir}/${var}_all_lockSeats.log | grep "\"240\"" | wc -l`
tmpAll50=`grep -B2 "ID_DLockSeat\"" ${var}_ng_version_${port50}.log |grep -A3 "$var $varHour:${varMin}.*调用" | grep ":${port50}/scts.service" | wc -l`
tmpfail50=`grep -B2 "ID_DLockSeat\"" ${var}_ng_version_${port50}.log |grep -A3 "$var $varHour:${varMin}.*调用失败" | grep ":${port50}/scts.service" | wc -l`
tmpSucc50=`grep -B2 -A1 "ID_DLockSeat\"" ${var}_ng_version_${port50}.log|grep -A3 "$var $varHour:${varMin}.*调用成功"|grep -B3 "Status=\"Success\""|grep ":${port50}/scts.service"|wc -l`
tmpAll63=`grep -B2 "ID_DLockSeat\"" ${var}_ng_version_${port63}.log |grep -A3 "$var $varHour:${varMin}.*调用" | grep ":${port63}/scts.client" | wc -l`
tmpfail63=`grep -B2 "ID_DLockSeat\"" ${var}_ng_version_${port63}.log |grep -A3 "$var $varHour:${varMin}.*调用失败" | grep ":${port63}/scts.client" | wc -l`
tmpSucc63=`grep -B2 -A1 "ID_DLockSeat\"" ${var}_ng_version_${port63}.log |grep -A3 "$var $varHour:${varMin}.*调用成功"|grep -B3 "Status=\"Success\""|grep ":${port63}/scts.client"|wc -l`
# grep -B2 -A1 "ID_DLockSeat\"" 2016-02-08_ng_version2.log | grep -A3 "2016-02-08 11:0.*调用成功"| grep -B3 "Status=\"Success\""| grep ":9080/scts.service" | wc -l
#echo "${tmpTime} ${tmpErrNum} ${tmpAllNum} ${tmp001Num} ${tmp240Num} ${tmpAllMYNum} ${tmp001MYNum} ${tmp240MYNum}" >> $lock_file_name
echo "${tmpTime} ${tmpAll50} ${tmpfail50} ${tmpSucc50} ${tmpAll63} ${tmpfail63} ${tmpSucc63}" >> $ng_file_name
done
done
done
分享到:
相关推荐
"shell脚本语言" Shell 简介: Shell 是一种命令语言和程序设计语言,用户可以通过 Shell 完成大部分工作。Shell 既可以交互式地解释和执行用户输入的命令,也可以定义各种变量和参数,提供了许多控制结构,包括...
Shell脚本中的运算符主要包含整数测试运算、字符串测试运算、文件测试运算和逻辑运算等。整数测试可以判断两个整数的相等、不等、大于、大于等于、小于或小于等于关系。字符串测试可以进行空字符串测试或模式匹配。...
2. **流程控制**:shell脚本中的流程控制包括条件语句(if-else)和循环结构(for、while)。例如,if语句用于基于特定条件执行代码块,while和for循环则用于重复执行任务。还有case语句,提供了一种多分支的选择...
Shell脚本基础 Shell脚本基础是 Linux 操作系统中的一种脚本语言,用于自动化系统管理和操作任务。Shell脚本由多条命令聚集在一个文件中,自上而下的执行文件的命令。下面是 Shell 脚本基础知识点的总结: Shell...
Shell脚本是一种使用Shell解释器执行的文本文件,它包含了操作系统命令、变量、控制结构等编程元素,常用于自动化执行一系列系统管理任务。编写Shell脚本的基本步骤包括创建脚本文件、添加执行权限以及执行脚本。 1...
Shell 本身不支持复杂的数学运算,但可以借助 `expr` 等外部程序来进行简单的算术运算: ```sh result=$(expr 2 + 3) echo "The result is: $result" ``` ##### 5. Shell 命令和流程控制 在 Shell 脚本中可以使用...
网盘文件永久链接 Shell变量-01、Shell变量.mp4 Shell概述-01、命令组合运用.mp4 01、元字符.mp4 ...服务脚本设计-04、case分支与服务脚本.mp4 服务脚本设计-05、awk文本处理.mp4 .........................
10. **shell_fileoperation**: 文件操作是Shell脚本中的核心功能,包括读写文件、创建删除文件和目录、重命名和移动文件等。这个文件可能会涵盖各种文件I/O操作的示例,如`echo > file`、`cat`、`cp`、`mv`、`rm`等...
### Shell脚本编译基础知识点 #### 一、Shell脚本编写规则 ##### 1.1 必要条件 - **环境准备**:确保系统已安装支持的Shell环境,如Bash、Sh等。 - **编辑器选择**:可以选择任何文本编辑器来编写脚本,如vi/vim...
3. **SHELL脚本结构**:一个基本的SHELL脚本通常包括shebang(#!/bin/bash)来指定解释器,变量声明,以及命令序列。 4. **命令行参数**:在SHELL脚本中,$0代表脚本名,$1到$9分别代表传递给脚本的前9个参数。 5....
控制结构包括循环(如for、while)和分支(如if-else)。在Shell脚本中,可以使用这些结构实现复杂的逻辑操作。例如,一个简单的for循环可以用来遍历数组或执行重复任务。 参数访问在Shell编程中也非常重要,当运行...
此外,Shell脚本支持管道 (`|`)、重定向 (`>` 和 `>>`) 等高级功能。 **2.4 简单脚本示例** 以下是一个简单的Bash脚本示例,用于打印出“Hello, World!”: ```bash #!/bin/bash echo "Hello, World!" ``` 要运行...
书中还讨论了脚本编程风格、调试、陷阱处理、脚本优化、安全和可移植性问题,以及Windows下Shell脚本的编写等。 在最后的部分,书中还提供了一些额外的资源,如捐献的脚本、参考卡片、学习Sed和Awk的小手册、带有...
本文档旨在帮助初学者理解Shell脚本的基本结构、命令、变量设定、输入输出处理、正则表达式以及流程控制等关键概念。 1. **Bash Shell结构与简单示例** Bash是GNU项目下的一个Unix shell,广泛应用于Linux和Unix...
总结,shell脚本学习涵盖了基础概念、变量管理、输入输出、条件控制、循环、函数、数组和正则表达式等核心内容,同时也涉及到了一些高级工具如grep、sed和awk的使用。这些知识点构成了shell编程的基础,对于Linux...
- 基本元素包括变量、条件语句(if-else)、循环结构(for, while)和函数定义。 4. **变量** - 变量用于存储数据,例如`NAME="John"`。 - `$`符号用于引用变量,如`echo $NAME`将打印"John"。 - 变量类型没有...
- 循环和分支语句的编写,包括`for`、`while`、`until`循环的控制和使用。 - 命令替换的机制,允许脚本捕获命令的输出并用作其他命令的输入。 - 字符串处理,包括字符串的切分、长度计算和匹配。 5. **Shell进阶...
在本文档中,我们将深入学习Shell编程的基础知识,包括变量、条件语句、循环结构、选择语句、函数、数组以及与文本处理相关的awk和sed命令。 1. **Shell入门简介** - Shell作为操作系统的接口,负责解释用户输入的...