summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/lm_sensors/healthd
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-03-21 03:47:16 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-03-21 03:47:16 (GMT)
commit8fe536ba935dd38e6a1ccfd1066fc9e4d09f1dd3 (patch)
treee34b3a4ee42af84b6d5bbb5aaafa4d5fa877de52 /abs/extra-testing/lm_sensors/healthd
parent3e0887cb811e0e1bb9fa730c50a22c101117c9fd (diff)
parent72aa4f632af6cae15a7f74973cd8230f30bd8536 (diff)
downloadlinhes_pkgbuild-8fe536ba935dd38e6a1ccfd1066fc9e4d09f1dd3.zip
linhes_pkgbuild-8fe536ba935dd38e6a1ccfd1066fc9e4d09f1dd3.tar.gz
linhes_pkgbuild-8fe536ba935dd38e6a1ccfd1066fc9e4d09f1dd3.tar.bz2
Merge branch 'HEAD' of ssh://jams@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/extra-testing/lm_sensors/healthd')
-rw-r--r--abs/extra-testing/lm_sensors/healthd46
1 files changed, 46 insertions, 0 deletions
diff --git a/abs/extra-testing/lm_sensors/healthd b/abs/extra-testing/lm_sensors/healthd
new file mode 100644
index 0000000..0315dd7
--- /dev/null
+++ b/abs/extra-testing/lm_sensors/healthd
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# /usr/sbin/healthd
+#
+
+. /etc/conf.d/healthd
+
+cmd="${ALARM_CMD}"
+addr="${ADMIN_EMAIL}"
+slp="${ALARM_SLEEP}"
+sensors="/usr/bin/sensors"
+
+
+while [ $# -gt 0 ] ; do
+ case "${1}" in
+ -c ) cmd="${2}" ; shift 2 ;;
+ -m ) addr="${2}" ; shift 2 ;;
+ -s ) slp="${2}" ; shift 2 ;;
+ * ) shift 1 ;;
+ esac
+done
+
+[ -n "${cmd}" ] && [ -n "$( which -- "${cmd%% *}" )" ] || \
+ [ -n "${addr}" ] || exit 1
+
+[ "${slp}" -ge 2 ] || slp=600
+
+while true ; do
+ sleep 15
+ message="$( $sensors )"
+ case "$message" in
+ '' ) message='Could not get any sensor values !' ;;
+ *ALARM* ) : ;;
+ * ) message='' ;;
+ esac
+ if [ -n "$message" ]; then
+ if [ -n "${addr}" ]; then
+ echo "$message" | mail -s \
+ "Sensors ALARM detected at host: $( hostname )" \
+ "${addr}"
+ fi
+ [ -z "${cmd}" ] || ${cmd} &
+ sleep ${slp}
+ fi
+done &