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

📄 wk_disk_1031.ksh

📁 ksh 实现的基于hpux下的性能数据以及故障的采集程序。可以作为新手练手使用
💻 KSH
字号:
#!/bin/ksh# 本程序调用不需要参数# 载入 HPUX 实例定义的环境变量. $HOME/hpux/.setenv# 载入 OMS 系统为 HPUX 实例下传的环境信息. $HOME/hpux/config/ftp.cfg# 载入本任务定义的环境变量. $HOME/hpux/src/WK_DISK_1031/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# label 0 -- 无输入文件  1 -- 有输入文件label=if [[ ! -s  $CFGPATH/WK_DISK_1031.cfg ]] then  label=0  # 如果输入文件为空,采取什么动作  0 -- 报告错误返回1 --  默认将全部数据取出,生成输出文件  if [[ $NULLDEFAULTFLAG = 0 ]] then    headline  "000641" "配置文件 $CFGPATH/WK_DISK_1031.cfg 不存在"    logit "WARN" "配置文件 $CFGPATH/WK_DISK_1031.cfg 不存在"    logit INFO "${FUN_NAME}结束}"    fputhead    exit  else    logit "INFO" "没有输入文件的情况下,要求将全部内置盘的信息取出"  fielse  label=1fiif [[ ! -x /etc/vgdisplay ]] then  headline 000050 "$LOGNAME 对 /etc/vgdisplay 没有执行权限"  fputhead  exit 1fiif [[ ! -x /etc/diskinfo ]] then  headline 000051 "$LOGNAME 对 /etc/diskinfo 没有执行权限"  fputhead  exit 1fi/etc/vgdisplay -v  vg00 >/dev/null 2>&1if [[ $? != 0 ]] then  headline 000052 "/etc/vgdisplay -v vg00 命令执行错误"  fputhead  exit 1fitmpfile=$TMPPATH/pvinfo.tmp/etc/vgdisplay -v  vg00 | grep -e "PV Name" |  awk ' { print $3; } ' | sort | uniq > $tmpfile# 从 sar.tmp 中对采集信息exec 3<$tmpfile# 构造本次任务的结果文件headline "000000" "采集主机内置盘信息成功"/etc/vgdisplay -v  vg00 | grep -e "PV Name" |  awk ' { gsub( "/dsk/","/rdsk/", $3 ); print $3; } ' | sort | uniq | xargs -n 1 -I {} /etc/diskinfo -b {} | awk ' BEGIN { sum=0; } { sum += $1; } END { printf "%15.0lf", sum; }' | read -r totalSizehostInnerDiskVolume=$totalSizewhile read -r pvName restdo    /etc/diskinfo -b /dev/rdsk/`basename ${pvName` >/dev/null 2>&1  if [[ $? = 0 ]] then     /etc/diskinfo -b /dev/rdsk/`basename ${pvName` | read -r hostInnerDiskSize         infoline "010900" "主机内置盘 $pvName 大小" "$hostInnerDiskVolume" "$pvName"  "${hostInnerDiskSize},Kbytes"  fidone <&3# 将本次任务的结果文件发送到 OMS 服务器fputrpt# 删除临时文件rm -f $tmpfilelogit INFO "${FUN_NAME}结束}"

⌨️ 快捷键说明

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