document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/bin/bash
  2.  
  3. fflag=0
  4. hostaddress=
  5. community=
  6.  
  7. while getopts \'H:fC:c:w:\' OPTION
  8. do
  9.    case $OPTION in
  10.    H)   hostaddress="$OPTARG"
  11.          ;;
  12.    C)   community="$OPTARG"
  13.          ;;
  14.    c)   criticalrange="$OPTARG"
  15.          ;;
  16.    w)   warningrange="$OPTARG"
  17.          ;;
  18.    f)   fflag=1
  19.          ;;
  20.    ?)   printf "Usage: check_temp_weathergoose.sh -H <hostaddress> [-f] -w <warning> -c <critical>\\n\\n-H - The IP address of the Weathergoose\\n-C - SNMP Community\\n-f - Convert output to Fahrenheit\\n-w - Warning Range\\n-c - Critical Range"
  21.          exit 3
  22.          ;;
  23.    esac
  24. done
  25. shift $(($OPTIND - 1))
  26. snmpcommand="snmpwalk -c ${community} -v 1 -O vq ${hostaddress} 1.3.6.1.4.1.17373.2.2.1.5"
  27. temp=`$snmpcommand`
  28. if [ $fflag == 1 ]; then
  29.    temp=$((($temp*18+320)/10))
  30. fi
  31.  
  32. status=3
  33.  
  34. if [ "$criticalrange" != "" ]; then
  35.    criticallow=${criticalrange%%:*}
  36.    criticalhigh=${criticalrange#*:}
  37.    if [ "$criticallow" != "" ] && [ $temp -le "$criticallow" ]; then
  38.       if [ $fflag == 1 ]; then
  39.          echo "TEMP CRITICAL LOW - $temp F|\'Temp (F)\'=$temp;$warningrange;$criticalrange;30;120"
  40.       else
  41.          echo "TEMP CRITICAL LOW - $temp C|\'Temp (C)\'=$temp;$warningrange;$criticalrange;0;50"
  42.       fi
  43.       exit 2
  44.    fi
  45.    if [ "$criticalhigh" != "" ] && [ $temp -ge "$criticalhigh" ]; then
  46.       if [ $fflag == 1 ]; then
  47.          echo "TEMP CRITICAL HIGH - $temp F|\'Temp (F)\'=$temp;$warningrange;$criticalrange;30;120"
  48.       else
  49.          echo "TEMP CRITICAL HIGH - $temp C|\'Temp (C)\'=$temp;$warningrange;$criticalrange;0;50"
  50.       fi
  51.       exit 2
  52.    fi
  53. fi
  54.  
  55. if [ "$warningrange" != "" ]; then
  56.    warninglow=${warningrange%%:*}
  57.    warninghigh=${warningrange#*:}
  58.    if [ "$warninglow" != "" ] && [ $temp -le "$warninglow" ]; then
  59.       if [ $fflag == 1 ]; then
  60.          echo "TEMP LOW WARNING - $temp F|\'Temp (F)\'=$temp;$warningrange;$criticalrange;30;120"
  61.       else
  62.          echo "TEMP LOW WARNING - $temp C|\'Temp (C)\'=$temp;$warningrange;$criticalrange;0;50"
  63.       fi
  64.       exit 2
  65.    fi
  66.    if [ "$warninghigh" != "" ] && [ $temp -ge "$warninghigh" ]; then
  67.       if [ $fflag == 1 ]; then
  68.          echo "TEMP HIGH WARNING - $temp F|\'Temp (F)\'=$temp;$warningrange;$criticalrange;30;120"
  69.       else
  70.          echo "TEMP HIGH WARNING - $temp C|\'Temp (C)\'=$temp;$warningrange;$criticalrange;0;50"
  71.       fi
  72.       exit 2
  73.    fi
  74. fi
  75. if [ $fflag == 1 ]; then
  76.    echo "TEMP OK - $temp F|\'Temp (F)\'=$temp;$warningrange;$criticalrange;30;120"
  77. else
  78.    echo "TEMP OK - $temp C|\'Temp (C)\'=$temp;$warningrange;$criticalrange;0;50"
  79. fi
  80. exit 0
');