halvar.at bcom Python Tools Plone Zope Visual Basic Programmierung SW3 PC Computer Netzwerk Linux Windows Shop

Skip to content

Gerolds Homepage

Sections
Personal tools
You are here: Home Codeschnipsel Softwareraid prüfen
Document Actions

Softwareraid auf Funktion prüfen

Prüfen ob ein Linux-Softwareraid noch funktioniert

Folgendes Linux-Shellscript (für Gentoo) prüft ob ein Softwareraid noch funktioniert und schickt bei auftreten eines Fehlers ein Email an die angegebene Emailadresse (MAILTO). 
:-)

#!/bin/sh
#
# file: raidmonitor
# Script zur Ueberpruefung ob Raid laeuft
# Getested mit Gentoo-Linux
# Erstellt von Joerg Bornkessel 20/02/2004
# Leicht geaendert von Gerold Penz 2004-01-24
# Eintrag in /etc/crontab vornehmen , i.E.
# 0 0-23/1 * * * root /sbin/raidmonitor 2>&1 > /dev/null
# und
#
# Zum starten beim Systemstart:
# /sbin/raidmonitor
# in /etc/conf.d/local.start eintragen.
#

MAILTO="root"
SENDMAILCMD="/usr/sbin/sendmail -t -oi"
RAIDHOST=`/bin/hostname`
HOST=`/bin/dnsdomainname`
TMPFILE="/tmp/$RANDOM.tmp"
START_LOG="/tmp/$RANDOM.log"
ZEIT=`date +%R%n%d-%m-%Y`

#### Farbzuweisung, Dank an CyBerian @ http://forums.gentoo.org
#
xecho() #(text, x, y, fgColor, bold)
{
#set position if given
if [ $2 -ne -1 ] ; then
if [ $3 -ne -1 ] ; then
tput cup $3 $2
fi
fi
#set color if valid color is given
if [ "`echo $4|cut -c-6`" = "bright" ] ; then
color=`echo $4|cut -c7-`
pre_color_code="\033[01;3"
else
pre_color_code="\033[00;3"
color=$4
fi
case "$color" in
# black) colorcode="${pre_color_code}0m";;
red) colorcode="${pre_color_code}1m";;
# green) colorcode="${pre_color_code}2m";;
# yellow) colorcode="${pre_color_code}3m";;
# blue) colorcode="${pre_color_code}4m";;
# lila) colorcode="${pre_color_code}5m";;
cyan) colorcode="${pre_color_code}6m";;
# grey) colorcode="${pre_color_code}7m";;
# *) colorcode="";;
esac
#print out the given string
printf "${colorcode}$1\033[00;00m"
#return and restore variables
return
}
#
### Ende Farbzuweisung, Ende Dank an ...


# Function zur Mail Benachrichtigung
writemail()
{
echo "To: $MAILTO " > $TMPFILE
echo "SUBJECT: *** ALARM! RAID FEHLER *** " >> $TMPFILE
echo "X-Priority: 1 (Highest)" >> $TMPFILE
echo "Reply-To: root@$HOST" >> $TMPFILE
echo "Errors-To: root@$HOST" >> $TMPFILE
echo "" >> $TMPFILE
echo "RAID Fehler auf $RAIDHOST" >> $TMPFILE
echo "$ZEIT" >> $TMPFILE
cat $TMPFILE | $SENDMAILCMD
rm -f $TMPFILE
}

# Ueberpruefung mit grep auf _
#
grep '[\[U]_' /proc/mdstat >$START_LOG
LOG="`wc -l <$START_LOG`"
if [ $LOG -gt 0 ] ; then
#xecho " *** WARNUNG !!! RAID DO NOT WORK ***" \
-1 -1 "brightred"
echo " *** WARNUNG !!! RAID DO NOT WORK ***"
echo ""
logger -t raidmonitor RAID DO NOT WORK --
writemail
else
#xecho " Raid - Status O.K." -1 -1 "brightcyan"
echo " Raid - Status O.K."
echo ""

# Die folgende Zeile kann kommentiert werden
# um die syslog nicht zu sehr zu belasten.
logger -t raidmonitor raid o.k. --
fi
rm -f $START_LOG
#Ende farbe & grep & syslog & mailversand

lg
Gerold
:-)

 

 

Powered by Plone   Powered by Bcom   Powered by Gentoo-Linux

Diese Seite erfüllt evt. :-) folgende Standards: