Monitorare la temperatura dei Hard Disk in Ubuntu

Ho creato uno scipt bash che trova ogni disco nel computer, e controlla la sua temperatura, ed in caso di temperatura alta manda una mail e dopo spegne il server.

Prima di tutto installiamo le utility necessarie:

apt-get install smartmontools

Ed ora lo script:

vim /script/monitor_temperatura.sh

#! /bin/bash
DISKS=”`blkid | grep sd | cut -c 1-8 | uniq`”
SMART=/usr/sbin/smartctl
ARGS=”-a -d ata”
LOG=/usr/bin/logger
DOWN=/sbin/shutdown
ALERT_LEVEL=55
for disk in $DISKS
do
if [ -b $disk ]; then
HDTEMP=$($SMART $ARGS $disk | grep -m 1 Temperature | awk ‘{print $10}’)
if [ $HDTEMP -ge $ALERT_LEVEL ]; then
$LOG “System going down as hard disk : $disk temperature $HDTEMP°C crossed its limit”
/bin/echo “System going down as hard disk : $disk temperature $HDTEMP°C crossed its limit” | mail -s “ServerKVM FrankHome” francesco.gabriele@gmail.com
sync;sync
$DOWN -h 0
fi
fi
done

Ora lo scheduliamo tramite cron:

*/50 * * * * /script/monitor_temperatura.sh

Ovviamente anche in questo caso dovrete settare i vari smtp (postfix,exim,ssmtp ecc..) per l’invio della mail.

Spero possa essere utile a molti

Frank

About Francesco Gabriele

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>