Die CPU wird einmal stündlich mittels mbmon überwacht, falls die temperatur in einen Kritischen Bereich ist wird die Überwachung weiterhin durchgeführt, bei weiteren Temperaturanstieg wird ein Systemshutdown eingeleitet!

Das Script ist sicherlich noch nicht ausgereift

#!/bin/bash

##Temperaturueberwachung der CPU mit mbmon

#History:
#v0.1: $domainname integriert
#      Umlaute entfernt
#      MAILTO integriert
#      Temperaturvariablen eingefuehrt

loggeropt="logger -t cputemp -s"
domainname="m1k3.local"
MAILTO=root

twarn=60
tcrit=70
tshut=80

if [ `pstree | grep cputemp | wc -l` -gt 1 ]; then
        $loggeropt "CPU wird bereits ueberwacht .... exit now"
        exit 0
fi

$loggeropt "===================== `date +%F-%T` ====================="
$loggeropt "Temperaturueberwachung der CPU fuer `hostname`.$domainname wird gestartet"

if [ ! `which mbmon` ]; then
        $loggeropt "mbmon wurde nicht auf diesem Computer gefunden"
        $loggeropt "Temperaturueberwachung der CPU fuer `hostname`.$domainname konnte nicht durchgefuehrt werden" | mail $MAILTO
        $loggeropt "===================== `date +%F-%T` ====================="
        exit 1
fi
tempcpu=`mbmon -c 1 | grep Temp`

$loggeropt $tempcpu

if [ `echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1` -gt $twarn ]; then

        loggeremerg="logger -t cputemp -p emerg -s"
        $loggeremerg "WARNING die CPU Temperatur hat einen kritischen Bereich von`echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1`°C erreicht"

        $loggeremerg "WARNING: CPU wird weiterhin ueberwacht"
        echo -e "\a"
        while [ `echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1` -gt $tcrit ]; do
                tempcpu=`mbmon -c 1 | grep Temp`
                $loggeremerg $tempcpu

                if [ `echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1` -gt $tshut ]; then
                        for ((i=1;i<=10;i++)); do
                                echo -e "\a"
                                sleep 1
                        done

                        $loggeremerg "WARNING die CPU Temperatur hat einen SEHR kritischen Bereich von`echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1`°C erreicht"
                        $loggeremerg " "
                        $loggeremerg "#######################################"
                        $loggeremerg "Es wird ein System-Shutdown eingeleitet!"
                        $loggeremerg "#######################################"
                        $loggeremerg " "
                        for ((i=1;i<=10;i++)); do
                                echo -e "\a"
                                sleep 1
                        done
                        shutdown -h now "kritische CPU Temperatur erreicht"  | mail $MAILTO
                        exit 0
                fi
                echo -e "\a"
                sleep 60
        done
else
        $loggeropt "die CPU Temperatur betraegt`echo $tempcpu | cut -d= -f2 | cut -d, -f1 | cut -d. -f1`°C"
fi

$loggeropt "Temperaturueberwachung der CPU fuer `hostname`.$domainname wurde durchgefuehrt"
$loggeropt "===================== `date +%F-%T` ====================="

exit 0
 
howto/cputempmbmon.txt · Last modified: 2008/05/24 17:05 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki