tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Notification of RAIDframe failures



        Hello.  You can put the following script into your crontab at the
frequency you feel comfortable with.  Be sure to set the MAILTO variable to
the appropriate value before setting this up.
-Brian

#!/bin/sh
#$Id: raid-chk,v 1.5 2001/11/16 20:03:59 buhrow Exp $
#NAME: brian Buhrow
#DATE: January 31, 2001
#
#This shell script checks the health of the indicated raid device
#and sends mail if anything looks amiss.
#It requires /etc/$1.conf or it will complain and send mail.
#
#Usage: raid-chk <raid device>
#raid-chk raid0
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
MAILTO="admin%your-domain.com@localhost"
HOST=`hostname`

if [ $# -lt 1 ]; then
        echo "Usage: $0 <raid number>"
        echo "For example: $0 raid0"
        exit 1
fi

if [ ! -s /etc/$1.conf ]; then
        logger -i -p daemon.crit "/etc/$1.conf doesn't exist -- Unable to check 
raid status"
        echo "/etc/$1.conf doesn't exist -- Unable to check raid status"|\
        mail -s "ERROR WITH $1 on $HOST" $MAILTO
        exit 5
fi

touch /var/tmp/$myname.$$
date "+Date: %h %e, %Y" > /var/tmp/$myname.$$
raidctl -p /dev/r"$1"d >> /var/tmp/$myname.$$
if [ $? -ne 0 ]; then
        cat /var/tmp/$myname.$$ |mail -s "ERROR WITH $1 ON $HOST" $MAILTO
        logger -i -p daemon.crit `cat /var/tmp/$myname.$$`
        rm -f /var/tmp/$myname.$$
        exit 5
fi

rm -f /var/tmp/$myname.$$
date "+Date: %h %e, %Y" > /var/tmp/$myname.$$
raidctl -s /dev/r"$1"d |grep -i 'fail' >> /var/tmp/$myname.$$
if [ $? -eq 0 ]; then
        logger -i -p daemon.crit `cat /var/tmp/$myname.$$`
        cat /var/tmp/$myname.$$ |mail -s "ERROR WITH $1 ON $HOST" $MAILTO
        rm -f /var/tmp/$myname.$$
        exit 5
fi

#OK, we're good, exit quietly.
rm -f /var/tmp/$myname.$$
exit 0


Home | Main Index | Thread Index | Old Index