⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wk_core_1026.ksh

📁 ksh 实现的基于hpux下的性能数据以及故障的采集程序。可以作为新手练手使用
💻 KSH
字号:
#!/usr/bin/ksh# 本程序调用不需要参数# 载入 HPUX 实例定义的环境变量. $HOME/hpux/.setenv# 载入 OMS 系统为 HPUX 实例下传的环境信息. $HOME/hpux/config/ftp.cfg# 载入本任务定义的环境变量. $HOME/hpux/src/WK_CORE_1026/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 1fi# 定义临时文件tmpfile1=$TMPPATH/${FUN_MARK}.tmp1tmpfile2=$TMPPATH/${FUN_MARK}.tmp2tmpfile3=$TMPPATH/${FUN_MARK}.tmp3#  该功能的输入文件cfgFile=$CFGPATH/${FUN_MARK}.cfg# label 0 -- 无输入文件  1 -- 有输入文件label=if [[ ! -s  $CFGPATH/${FUN_MARK}.cfg ]] then  label=0  # 如果输入文件为空,采取什么动作  0 -- 报告错误返回1 --  默认将全部数据取出,生成输出文件  if [[ $NULLDEFAULTFLAG = 0 ]] then    headline  "000626" "配置文件 $CFGPATH/${FUN_MARK}.cfg 不存在"    logit "WARN" "配置文件 $CFGPATH/${FUN_MARK}.cfg 不存在"    logit INFO "${FUN_NAME}结束}"    fputhead    exit  else    logit "INFO" "没有输入文件的情况下,要求将全部core 文件信息取出"  fielse  label=1fi# 如果没有输入文件,同时要求将所有core 文件取出if [[ $label = 0 ]] then  echo "/" >  $tmpfile1# 如果存在输入文件,则从输入文件中的要求路径中取 core 文件信息else  # 将输入文件中的重复项去掉  sort $cfgFile | uniq | tr "/" "," > $tmpfile1ficp $tmpfile1 $tmpfile2# 将下级路径去掉,只保留上级查询路径,如/home/oms/hpux/ /home/oms/hpux/config,# 处理后保留 /home/oms/hpux/while read -r f1 f2do  ex $tmpfile2 <<! >/dev/null 2>&1/^${f1}/ +1,$ g /^${f1}/ dx!done < $tmpfile1ex $tmpfile2 <<!  >/dev/null 2>&1%s/,/\//gx!headline "000000" "core文件检查任务"# 查找core 文件while read -r findPath restdo  rm -f $tmpfile3   find $findPath -name "core" -print > $tmpfile3 2>/dev/null  # 如果找到 core 文件后,则输出到结果文件    if [[ -s $tmpfile3 ]] then    while read -r coreFile rest    do      logit "DEBUG" "core 文件路径为 $coreFile"      infoline "012600" "core查找结果" "$findPath" "$coreFile"    done < $tmpfile3    fi    done < $tmpfile2rm -f $tmpfile1 $tmpfile2 $tmpfile3# 将本次任务的结果文件发送到 OMS 服务器          fputrpt                  logit INFO "${FUN_NAME}结束"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -