diff --git a/xymon/plugins/client/ext/sge.sh b/xymon/plugins/client/ext/sge.sh index d72d079..e6debe5 100755 --- a/xymon/plugins/client/ext/sge.sh +++ b/xymon/plugins/client/ext/sge.sh @@ -141,7 +141,7 @@ get_status() ### Check the jobs ### get_header "Jobs" "$QSTAT -l hostname=$MACHINEDOTS" - jobs=`${QSTAT} -l hostname=${MACHINEDOTS} -s r` + jobs=$(${QSTAT} -l hostname=${MACHINEDOTS} -s r) if [ -z "$jobs" ]; then echo "No Running Jobs" else @@ -167,40 +167,40 @@ get_status() ### Check queue instance states ### queueTriggered=false; - # Queueset=`${QHOST} -h ${MACHINEDOTS} -q | ${TAIL} +5 | ${AWK} '{ print $1 }'` + # Queueset=$(${QHOST} -h ${MACHINEDOTS} -q | ${TAIL} +5 | ${AWK} '{ print $1 }') ${QHOST} -h ${MACHINEDOTS} -q | ${TAIL} +5 > "${PLUGIN_RESULT}.QSTATE" - Queueset=`cat "${PLUGIN_RESULT}.QSTATE" | ${AWK} '{ print $1 }'` + Queueset=$(cat "${PLUGIN_RESULT}.QSTATE" | ${AWK} '{ print $1 }') for Qset in $Queueset; do - # qstate=`${QHOST} -q -h ${MACHINEDOTS} | ${TAIL} +5 | $GREP " $Qset" | $AWK '{print $4}'` - qstate=`cat "${PLUGIN_RESULT}.QSTATE" | $GREP " $Qset" | $AWK '{print $4}'` + # qstate=$(${QHOST} -q -h ${MACHINEDOTS} | ${TAIL} +5 | $GREP " $Qset" | $AWK '{print $4}') + qstate=$(cat "${PLUGIN_RESULT}.QSTATE" | $GREP " $Qset" | $AWK '{print $4}') # Order determines more significant color status - if [ "`echo $qstate | $GREP -c d`" != "0" ]; then + if [ "$(echo "${qstate}" | $GREP -c d)" != "0" ]; then COLOR="clear" - queueMsg=`echo "$queueMsg
$CLEAR_PIC $Qset@$HOST is DISABLED"` + queueMsg=$(echo "$queueMsg
$CLEAR_PIC $Qset@$HOST is DISABLED") queueTriggered=true; - elif [ "`echo $qstate | $GREP -c E`" != "0" ]; then + elif [ "$(echo "${qstate}" | $GREP -c E)" != "0" ]; then COLOR="red" - queueMsg=`echo "$queueMsg
$RED_PIC $Qset@$HOST is in ERROR!"` + queueMsg=$(echo "$queueMsg
$RED_PIC $Qset@$HOST is in ERROR!") queueTriggered=true; - elif [ "`echo $qstate | $GREP -c c`" != "0" ]; then + elif [ "$(echo "${qstate}" | $GREP -c c)" != "0" ]; then COLOR="yellow" - queueMsg=`echo "$queueMsg
$YELLOW_PIC $Qset@$HOST has an ambigious configuration!"` + queueMsg=$(echo "$queueMsg
$YELLOW_PIC $Qset@$HOST has an ambigious configuration!") queueTriggered=true; - elif [ "`echo $qstate | $GREP -c a`" != "0" ] || \ - [ "`echo $qstate | $GREP -c A`" != "0" ]; then - queueMsg=`echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is in ALARM"` - elif [ "`echo $qstate | $GREP -c s`" != "0" ] || \ - [ "`echo $qstate | $GREP -c S`" != "0" ]; then - queueMsg=`echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is SUSPENDED"` - elif [ "`echo $qstate | $GREP -c u`" != "0" ]; then + elif [ "$(echo "${qstate}" | $GREP -c a)" != "0" ] || \ + [ "$(echo "${qstate}" | $GREP -c A)" != "0" ]; then + queueMsg=$(echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is in ALARM") + elif [ "$(echo "${qstate}" | $GREP -c s)" != "0" ] || \ + [ "$(echo "${qstate}" | $GREP -c S)" != "0" ]; then + queueMsg=$(echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is SUSPENDED") + elif [ "$(echo "${qstate}" | $GREP -c u)" != "0" ]; then COLOR="yellow" - queueMsg=`echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is UNAVAILABLE!"` + queueMsg=$(echo "$queueMsg
$YELLOW_PIC $Qset@$HOST is UNAVAILABLE!") queueTriggered=true; elif [ "$qstate" = "" ]; then - queueMsg=`echo "$queueMsg
$GREEN_PIC $Qset@$HOST is OK"` + queueMsg=$(echo "$queueMsg
$GREEN_PIC $Qset@$HOST is OK") else - queueMsg=`echo "$queueMsg
$UNKNOWN_PIC $Qset@$HOST is UNKNOWN"` + queueMsg=$(echo "$queueMsg
$UNKNOWN_PIC $Qset@$HOST is UNKNOWN") queueTriggered=true; fi done @@ -229,10 +229,9 @@ get_status() get_status > "${PLUGIN_RESULT}" # NOW USE THE XYMON COMMAND TO SEND THE DATA ACROSS - $XYMON "${XYMONSRV}" "status ${MACHINE}.${TEST} ${COLOR} `$DATE` `cat ${PLUGIN_RESULT}`" + $XYMON "${XYMONSRV}" "status ${MACHINE}.${TEST} ${COLOR} $($DATE) $(cat ${PLUGIN_RESULT})" #For testing only - # echo $XYMON "${XYMONSRV}" "status ${MACHINE}.${TEST} ${COLOR} `$DATE` `cat ${PLUGIN_RESULT}`" > /tmp/sgetmp - + # echo $XYMON "${XYMONSRV}" "status ${MACHINE}.${TEST} ${COLOR} $($DATE) $(cat ${PLUGIN_RESULT})" > /tmp/sgetmp # Clean up our mess # Checking for existence of each file since the whole test may be optional