📄 wk_base_1018.ksh
字号:
#!/bin/ksh# 本程序调用不需要参数# 载入 HPUX 实例定义的环境变量. $HOME/hpux/.setenv# 载入 OMS 系统为 HPUX 实例下传的环境信息. $HOME/hpux/config/ftp.cfg# 载入本任务定义的环境变量. $HOME/hpux/src/WK_BASE_1018/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 [[ ! -x /etc/ioscan ]] then headline 000100 "$LOGNAME 对 /etc/ioscan 没有执行权限" logit WARN "$LOGNAME 对 /etc/ioscan 没有执行权限" logit INFO "${FUN_NAME}结束" fputhead exit 1fiif [[ ! -x /usr/bin/uname ]] then headline 000101 "$LOGNAME 对 /usr/bin/uname 没有执行权限" logit WARN "$LOGNAME 对 /usr/bin/uname 没有执行权限" logit INFO "${FUN_NAME}结束" fputhead exit 1fiif [[ ! -x /usr/sbin/dmesg ]] then headline 000102 "$LOGNAME 对 /usr/sbin/dmesg 没有执行权限" logit WARN "$LOGNAME 对 /usr/sbin/dmesg 没有执行权限" logit INFO "${FUN_NAME}结束" fputhead exit 1fiif [[ ! -x /usr/sbin/swlist ]] then headline 000103 "$LOGNAME 对 /usr/sbin/swlist 没有执行权限" logit WARN "$LOGNAME 对 /usr/sbin/swlist 没有执行权限" logit INFO "${FUN_NAME}结束" fputhead exit 1fi###########################查询主机名称##########################hostName=`hostname`backcode1=`echo $?`############################################################ 查询主机ip地址,通过循环的方式找出可能存在的所有网卡信息###########################################################ioscan -fknC lan > $TMPPATH/1018.tmpif [[ $? != 0 ]] then headline "000072" "ioscan 命令执行失败" logit WARN "ioscan 命令执行失败" logit INFO "${FUN_NAME}结束" fputhead exitfilancardnumbers=`grep -e "^lan" $TMPPATH/1018.tmp | awk '{print $2}' | tail -1`i=0hostIp=while [ $i -le $lancardnumbers ]do ifconfig lan${i} | grep inet | awk '{print $2}' 2> /dev/null > $TMPPATH/1018-e.tmp hostIptemp=`cat $TMPPATH/1018-e.tmp` return=`echo $?` echo $return >> $TMPPATH/1018-b.tmp if [[ $return = 0 ]] then hostIp="${hostIptemp},${hostIp}" fi i=`expr $i + 1`done# 去除字符串前后的逗号length=`expr length $hostIp`length=`expr $length - 1` if [[ `expr substr $hostIp 1 1` = "," ]] then hostIp=`expr substr $hostIp 2 $length`filength=`expr length $hostIp` if [[ `expr substr $hostIp $length 1` = "," ]] then length=`expr $length - 1` hostIp=`expr substr $hostIp 1 $length`filines=`grep 0 $TMPPATH/1018-b.tmp | wc -l`# 判断是否正常执行完毕,只要有一个成功就算成功if [[ $lines = 0 ]] then headline 000085 "采集主机配置月度信息失败" logit WARN "采集主机配置月度信息失败" logit INFO "${FUN_NAME}结束" fputhead exit 1fi#################### 查询主机厂商名称###################hostPlantName=`uname -s`backcode3=`echo $?`################### 查询主机CPU个数##################hostCPUAmout=`ioscan -fknC processor | grep processor | wc -l`backcode4=`echo $?`################### 查询主机CPU型号##################ioscan -fnkC processor | tail +3 | awk '{print $6}'> $TMPPATH/1018-c.tmpbackcode5=`echo $?`hostCPUModel=while read -r model do hostCPUModel="$hostCPUModel,$model"done < $TMPPATH/1018-c.tmplength=`expr length $hostCPUModel`length=`expr $length - 1` if [[ `expr substr $hostCPUModel 1 1` = "," ]] then hostCPUModel=`expr substr $hostCPUModel 2 $length`fi################### 查询主机CPU主频##################hostCPUFrequency=`echo "itick_per_usec/D" | adb /stand/vmunix /dev/mem | tail -1 | awk '{print $2}'`backcode6=`echo $?`################### 查询主机内存大小##################hostMemSize=`dmesg | grep "Physical:" | awk '{print $2 "," $3}'`hostMemSize="${hostMemSize}"backcode7=`echo $?`length=`expr length $hostMemSize` if [[ `expr substr $hostMemSize $length 1` = "," ]] then length=`expr $length - 1` hostMemSize=`expr substr $hostMemSize 1 $length`fi################################ 查询主机操作系统版本号和位数###############################hostOSVersion1=`swlist | grep -e "Base OS" | grep bit | awk '{print $4}'`hostOSVersion2=`swlist | grep -e "Base OS" | sed '/bit/d' | awk '{print $2}'`hostOSVersion="$hostOSVersion1,$hostOSVersion2"backcode8=`echo $?`############################ 查询主机本地磁盘空间大小###########################ioscan -fnkC disk | grep disk* | awk '{print $NF}' | sed 's/\(.*\)G.*$/\1/g' > $TMPPATH/1018-d.tmpbackcode9=`echo $?`hostDiskVolume=0while read -r disksizedo hostDiskVolume=`echo "scale = 2; $hostDiskVolume + $disksize" | bc`done < $TMPPATH/1018-d.tmphostDiskVolume="$hostDiskVolume,Gbytes"#判断是否正常收集完信息if (test ${backcode1} -ne "0" -o ${backcode3} -ne "0" -o ${backcode4} -ne "0" -o ${backcode5} -ne "0" -o ${backcode6} -ne "0" -o ${backcode7} -ne "0" -o ${backcode8} -ne "0" -o ${backcode9} -ne "0") then headline 000085 "采集主机配置月度信息失败" logit WARN "采集主机配置月度信息失败" logit INFO "${FUN_NAME}结束" fputhead exit 1fi#生成头信息和行信息文件headline "000000" "查询主机配置月度信息"infoline "011801" "查询主机配置月度信息" "${hostName}" "${hostIp}" "${hostPlantName}" "${hostCPUAmout}" "${hostCPUModel}" "${hostCPUFrequency}" "${hostMemSize}" "${hostOSVersion}" "${hostDiskVolume}"# 将本次任务的结果文件发送到 OMS 服务器 fputrpt logit INFO "${FUN_NAME}结束"# 删除临时文件rm -f $TMPPATH/1018-a.tmprm -f $TMPPATH/1018-b.tmprm -f $TMPPATH/1018-c.tmprm -f $TMPPATH/1018-d.tmp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -