#!/bin/bash
#
# healthd -- This is a simple daemon which can be used to alert you in the
# event of a hardware health monitoring alarm by sending an
# email to the value of ADMIN_EMAIL (defined below).
#
# To Use -- Simply start the daemon from a shell (may be backgrounded)
#
# Other details -- Checks status every 15 seconds. Sends warning emails every
# ten minutes during alarm until the alarm is cleared.
# It won't start up if there is a pending alarm on startup.
# Very low loading on the machine (sleeps almost all the time).
# This is just an example. It works, but hopefully we can
# get something better written. :')
#
# Requirements -- mail, sensors, bash, sleep
#
# Written & Copyrighten by Philip Edelbrock, 1999.
#
# Version: 1.1
#
ADMIN_EMAIL="root@localhost"
# Try loading the built-in sleep implementation to avoid spawning a
# new process every 15 seconds
enable -f sleep.so sleep >/dev/null 2>&1
sensors_state=$(sensors)
if [[ "$sensors_state" =~ 'ALARM' ]]
then
echo "Pending Alarms on start up! Exiting!"
exit
fi
while true
do
sleep 15
sensors_state=$(sensors)
if [[ "$sensors_state" =~ 'ALARM' ]]
then
echo "$sensors_state" | mail -s '**** Hardware Health Warning ****' $ADMIN_EMAIL
sleep 600
fi
done