wok-next diff lm-sensors/stuff/healthd @ rev 20991

Update EDuke32, combine web apps
author Aleksej Bobylev <al.bobylev@gmail.com>
date Thu Oct 04 06:46:42 2018 +0300 (2018-10-04)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/lm-sensors/stuff/healthd	Thu Oct 04 06:46:42 2018 +0300
     1.3 @@ -0,0 +1,53 @@
     1.4 +#!/bin/bash
     1.5 +
     1.6 +#
     1.7 +# /usr/bin/healthd
     1.8 +#
     1.9 +
    1.10 +. /etc/healthd.conf
    1.11 +
    1.12 +cmd="${ALARM_CMD}"
    1.13 +addr="${ADMIN_EMAIL}"
    1.14 +slp="${ALARM_SLEEP}"
    1.15 +sensors="/usr/bin/sensors"
    1.16 +
    1.17 +
    1.18 +while [ $# -gt 0 ] ; do
    1.19 +	case "${1}" in
    1.20 +		-c ) cmd="${2}" ; shift 2 ;;
    1.21 +		-m ) addr="${2}" ; shift 2 ;;
    1.22 +		-s ) slp="${2}" ; shift 2 ;;
    1.23 +		*  ) shift 1 ;;
    1.24 +	esac
    1.25 +done
    1.26 +
    1.27 +case "${ALARM_RESET}" in
    1.28 +	yes) /usr/bin/sensors > /dev/null
    1.29 +	;;
    1.30 +        no) true
    1.31 +	;;
    1.32 +esac
    1.33 +
    1.34 +[ -n "${cmd}" ] && [ -n "$( which -- "${cmd%% *}" )" ] || \
    1.35 +	[ -n "${addr}" ] || exit 1
    1.36 +
    1.37 +[ "${slp}" -ge 2 ] || slp=600
    1.38 +
    1.39 +while true ; do
    1.40 +	sleep 15
    1.41 +	message="$( $sensors )"
    1.42 +	case "$message" in
    1.43 +		''      ) message='Could not get any sensor values !' ;;
    1.44 +		*ALARM* ) : ;;
    1.45 +		*       ) message='' ;;
    1.46 +	esac
    1.47 +	if [ -n "$message" ]; then
    1.48 +		if [ -n "${addr}" ]; then
    1.49 +			echo "$message" | mail -s \
    1.50 +				"Sensors ALARM detected at host: $( hostname )" \
    1.51 +				"${addr}"
    1.52 +		fi
    1.53 +		[ -z "${cmd}" ] || ${cmd} &
    1.54 +		sleep ${slp}
    1.55 +	fi
    1.56 +done &