From c092428b53c1306252b66b51f49482650ec1f38b Mon Sep 17 00:00:00 2001 From: srv Date: Mon, 19 May 2025 12:40:23 +0200 Subject: tlaunch requeriment are compiled, thinkpad touchpad requeriment are compiled, docker requeriment in progress is a long task yet and add validate size --- lm-sensors/healthd | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 lm-sensors/healthd (limited to 'lm-sensors/healthd') diff --git a/lm-sensors/healthd b/lm-sensors/healthd new file mode 100644 index 0000000..b1e2fd6 --- /dev/null +++ b/lm-sensors/healthd @@ -0,0 +1,53 @@ +#!/bin/bash + +# +# /usr/bin/healthd +# + +. /etc/healthd.conf + +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 + +case "${ALARM_RESET}" in + yes) /usr/bin/sensors > /dev/null + ;; + no) true + ;; +esac + +[ -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 & -- cgit v1.2.3