I was wondering if anyone sees any problem with what I am doing with the following script. I want an "Alarm" which causes an "Alert" message to actually shutdown the machine under certain circumstances, since I run a family server and I don't have a backup. 1) "sensord" (lm_sensors library) is running and I can do "sensors" command to get a result. via686a-isa-6000 Adapter: ISA adapter Algorithm: ISA algorithm CPU core: +1.73 V (min = +1.68 V, max = +2.49 V) +2.5V: +2.59 V (min = +2.24 V, max = +2.74 V) I/O: +3.40 V (min = +2.95 V, max = +3.62 V) +5V: +4.87 V (min = +4.47 V, max = +5.49 V) +12V: +11.74 V (min = +10.79 V, max = +13.18 V) CPU Fan: 0 RPM (min = 3000 RPM, div = 2) P/S Fan: 0 RPM (min = 3000 RPM, div = 2) SYS Temp: +30.0°C (high = +45°C, hyst = +40°C) CPU Temp: +38.5°C (high = +60°C, hyst = +55°C) SBr Temp: +25.1°C (high = +65°C, hyst = +60°C) 2) "syslog-ng" is working and logging the data under 'local5". The following is the pertinent "syslog-ng.conf" data. All the data is logged and the "Alert" data triggers input to a shell program. filter f_local5 { facility(local5); }; filter f_sensorA { level(alert) and facility(local5); }; destination sensord { file("/var/log/local5.log"); }; log { source(src); filter(f_local5); destination(sensord); }; # Sensor Alarm Messages - Programs are loaded once (email) destination sensor_alarm { program("/usr/local/sbin/sensor_alarm.sh"); }; log { source(src); filter(f_sensorA); destination(sensor_alarm); }; 3) Program "sensor_alarm.sh" will try to shutdown the machine if it reaches a too hot condition. I don't have fan sensors so it will never trigger. I am no programmer, please excuse my very primitive (and naive) coding. Is there anything wrong with calling this program? SENSOR_ALARM.SH #!/bin/sh # Make sensord do something useful with syslog-ng # -k does nothing will use a -h halt later # +2 in 2 minutes while read line; do echo $line | /usr/bin/mail -s "SENSORD Alarm" root@localhost AlarmName="" AlarmName=`echo $line | /usr/bin/awk -F":" '{ print $1 }'` case "$AlarmName" in "CPU core") /sbin/shutdown -k +2 "CPU core ALARM - bad voltage" ;; "SYS Temp") /sbin/shutdown -k +2 "SYS Temp ALARM - too hot" ;; "CPU Temp") /sbin/shutdown -k +2 "CPU Temp ALARM - too hot" ;; "CPU Fan") /sbin/shutdown -k +2 "CPU Fan ALARM - fan down" ;; "P/S Fan") /sbin/shutdown -k +2 "P/S Fan ALARM - fan down" ;; *) echo "WARNING SENSORD - Be Careful!" | /usr/bin/wall ;; esac done