67 lines
1.2 KiB
Plaintext
67 lines
1.2 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# megarpt
|
||
|
#
|
||
|
# Emails a message to root with megaraid configuration and any
|
||
|
# output from a health check. Useful as a nightly cron job.
|
||
|
#
|
||
|
# Author: Jefferson Ogata (JO317) <ogata@antibozo.net>
|
||
|
# Date: 2007/08/20
|
||
|
|
||
|
VERSION='0.3'
|
||
|
MEGACTL=/root/megactl
|
||
|
DEVICE=/dev/megadev0
|
||
|
DEVICENAME=megadev
|
||
|
DEVICEPERM=644
|
||
|
ME=`basename $0`
|
||
|
|
||
|
if [ -x $MEGACTL ]; then
|
||
|
MEGACTLVERSION=`$MEGACTL -V`
|
||
|
else
|
||
|
echo "No megactl program in $MEGACTL" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
MAJOR=`grep "$DEVICENAME" /proc/devices | awk '{print $1}'`
|
||
|
|
||
|
if [ -n "$MAJOR" -a ! -e "$DEVICE" ]; then
|
||
|
mknod "$DEVICE" c "$MAJOR" 0
|
||
|
chmod "$DEVICEPERM" "$DEVICE"
|
||
|
fi
|
||
|
|
||
|
if [ -e "$DEVICE" ]; then
|
||
|
|
||
|
WARN=
|
||
|
HOST=`/bin/uname -n`
|
||
|
DATE=`/bin/date '+%Y/%m/%d %H:%M:%S %Z'`
|
||
|
HC=/tmp/megactl.$$
|
||
|
|
||
|
$MEGACTL -vH > $HC 2>/dev/null
|
||
|
if [ -s $HC ]; then
|
||
|
WARN=' **WARNING**'
|
||
|
fi
|
||
|
|
||
|
(
|
||
|
if [ -s $HC ]; then
|
||
|
echo "megaraid health check"
|
||
|
echo "---------------------"
|
||
|
cat $HC
|
||
|
echo
|
||
|
echo
|
||
|
fi
|
||
|
|
||
|
echo "megaraid configuration"
|
||
|
echo "----------------------"
|
||
|
$MEGACTL -vp
|
||
|
|
||
|
echo
|
||
|
echo "--------------"
|
||
|
echo "$ME version: $VERSION"
|
||
|
echo "megactl version: $MEGACTLVERSION"
|
||
|
) 2>/dev/null |
|
||
|
/bin/mail -s "RAID report:$WARN $HOST $DATE" root
|
||
|
|
||
|
rm -f $HC
|
||
|
fi
|
||
|
|