update script for monitoring switch temparature
[debian6500.git] / master / opt / script / get_switch_temperature
diff --git a/master/opt/script/get_switch_temperature b/master/opt/script/get_switch_temperature
new file mode 100755 (executable)
index 0000000..26c3767
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+CONNECT_SWITCH=/opt/script/connect_switch
+
+PROGNAME=$(basename $0)
+
+# formating functions
+
+_echo () { [ "$(echo -e '')" ] && echo $@ || echo -e $@; }
+title () { _echo "\033[0;1m$*\033[0;0m"; }
+pass () { _echo "\033[1;32m$*\033[0;0m"; }
+warn () { _echo "\033[1;33m$*\033[0;0m"; }
+fail () { _echo "\033[1;31m$*\033[0;0m"; }
+
+usage () {
+  echo "usage: $PROGNAME [-h] [-s host]"
+  echo " -h: help message"
+  echo " -s host: switch hostname"
+  exit $@
+}
+
+[ -x $CONNECT_SWITCH ] || exit 0
+
+# argument processing
+
+while [ $# -gt 0 ]; do
+  case "$1" in
+  -h) usage 0;;
+  -s) shift; SWITCH=$1;;
+  esac
+  shift
+done
+
+[ "$SWITCH" ] || usage 1
+ping -c 1 -w 1 $SWITCH 2>&1 1>/dev/null || exit 1
+
+$CONNECT_SWITCH $SWITCH -c 'show platform chassis status' | \
+       awk '/air/ { sub(/\r/, ""); print "'$SWITCH': ", $3, $4, $2 }' | \
+       logger -t switch