📄 wk_log_1013.ksh
字号:
# 本程序调用不需要参数# 载入 HPUX 实例定义的环境变量. $HOME/hpux/.setenv# 载入 OMS 系统为 HPUX 实例下传的环境信息. $HOME/hpux/config/ftp.cfg# 载入本任务定义的环境变量. $HOME/hpux/src/WK_LOG_1013/fun.cfg# 载入 公共函数部分。常用的函数定义在该文件中. $HOME/hpux/src/COMMON/common.ksh# 切换到文件上传路径cd $OUTPATHlogit INFO "${FUN_NAME}开始"######################## 判断激活标志是否为1#######################checkActiveFlagif [[ $taskFlag = 1 ]] then logit WARN "${FUN_NAME}任务失效" logit INFO "${FUN_NAME}结束" exit 1elif [[ $agentFlag = 1 ]] then logit WARN "HPUX实例失效" logit INFO "${FUN_NAME}结束" exit 1elif [[ $agentFlag = 2 ]] then logit WARN "HPUX实例休眠" logit INFO "${FUN_NAME}结束" exit 1 fi############################# 判断配置文件是否存在或合法############################if (test ! -s $CFGPATH/WK_LOG_1013.cfg) then headline 000083 "WK_LOG_1013功能输入参数文件不存在或者内容为空" logit WARN "WK_LOG_1013功能输入参数文件不存在或者内容为空" logit INFO "${FUN_NAME}结束" fputhead exit 1 fi# 判断影响该task运行的参数是否赋值cat $CFGPATH/WK_LOG_1013.cfg | awk '{print $2}' > $TMPPATH/1013e.tmpnull=while read -r checkParado number=0 if (test $faultDesc -ne $null) then number=`expr $number + 1` fidone < $TMPPATH/1013e.tmpif [[ $number = 0 ]] then headline 000083 "WK_LOG_1013功能输入参数文件输入数值不完整" logit WARN "WK_LOG_1013功能输入参数文件输入数值不完整" logit INFO "${FUN_NAME}结束" fputhead exit 1 fi############################# 判断对日志文件是否有读权限############################if (test ! -r /var/adm/syslog/syslog.log) then headline 000067 "对日志文件无读权限" logit WARN "对日志文件无读权限" logit INFO "${FUN_NAME}结束" fputhead exit 1 fi########################## 判断是否有执行命令权限#########################if [[ ! -x /usr/bin/grep ]] then headline 000104 "$LOGNAME 对 /usr/bin/grep 没有执行权限" logit WARN "$LOGNAME 对 /usr/bin/grep 没有执行权限" logit INFO "${FUN_NAME}结束" fputhead exit 1fi# 为本次运行的最后一行打上标记 cat /var/adm/syslog/syslog.log | tail -1 > $TMPPATH/1013a.tmp read para1 < $TMPPATH/1013a.tmp echo "$para1" > $TMPPATH/1013b.tmp | awk '{ gsub("\[","\\\\[",$0); gsub("\]","\\\\]",$0); print $0;}' $TMPPATH/1013b.tmp | read -r para# 生成临时文件,只包含关键字信息while read -r mesgId mesg journalName faultDesc do case "$LAB" in "") grep -e "$faultDesc" /var/adm/syslog/syslog.log > $TMPPATH/1013.tmp result=`echo $?` ;; *) grep -e "$LAB" /var/adm/syslog/syslog.log | wc -l > $TMPPATH/1013c.tmp read lineflag < $TMPPATH/1013c.tmp if (test $lineflag -eq 0) then grep -e "$faultDesc" /var/adm/syslog/syslog.log > $TMPPATH/1013.tmp result=`echo $?` else ex /var/adm/syslog/syslog.log <<! >/dev/null 2>&1?${LAB}?.+1 ,$ w!$TMPPATH/1013d.tmp! grep -e "$faultDesc" $TMPPATH/1013d.tmp > $TMPPATH/1013.tmp result=`echo $?` fi ;; esac if (test $result -ne 0) then flag=`cat $TMPPATH/1013.tmp | wc -l` if (test $flag -eq 0) then headline "000086" "无该关键字log $faultDesc 信息" logit WARN "无该关键字log $faultDesc 信息" logit INFO "${FUN_NAME}结束" fputhead exit 1 else headline "000087" "查询syslog失败" logit WARN "查询syslog失败" logit INFO "${FUN_NAME}结束" fputhead exit 1 fi fi # 处理日期,并生成数据文件 while read -r time1 time2 time3 logcontent do formate_month $time1 time1=$month if (test ${#time2} -eq 1) then time2="0$time2" fi faultTime="${time1}${time2} ${time3}" prepare=`echo $faultTime | sed -e 's/ //g' -e 's/://g'` headline "000000" "查询syslog日志关键字信息" flag=0 # 构造本次任务的结果文件 infoline "${mesgId}" "${mesg}" "${journalName}" "${faultTime}" "${logcontent}" done < $TMPPATH/1013.tmpdone < $CFGPATH/WK_LOG_1013.cfg# 更新Lab标签ex $HOME/hpux/src/WK_LOG_1013/fun.cfg <<! >/dev/null 2>&1%s/LAB=.*$/LAB="${para}"/. px! # 将本次任务的结果文件发送到 OMS 服务器 fputrpt logit INFO "${FUN_NAME}结束" # 删除临时文件 rm -f $TMPPATH/1013.tmp rm -f $TMPPATH/1013a.tmp rm -f $TMPPATH/1013b.tmp rm -f $TMPPATH/1013c.tmp rm -f $TMPPATH/1013d.tmp rm -f $TMPPATH/1013e.tmp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -