Ich habe einen 3ware Hardware Raid5 unter SuseLinux 10 Enterprise eingerichtet. Dies funktioniert auch!!!!,Das Problem ist nur das dieses Raid überwacht werden soll, dazu habe ich auch das passende toll gefunden und von der Hersteller Seite gezogen. Dieses funktioniert auch, jetzt möchte ich aber benachrichtigt werden wenn eine Festplatte abraucht !!!!!!! Diese Funktion wollte ich über einen crontab und ein script ermöglichen.
Der crontab sieht wie folgt aus:
*/15 * * * * root test -x /usr/local/sbin/check_raid.sh && /usr/local/sbin/check_raid.sh
Dieser führt ein Script (check_raid.sh) jede 15min aus. Das Script lautet wie folgt
Code: Alles auswählen
#!/bin/sh
#
# This script checks
#
# - RAID Status
# - Drive Status
#
# on a 3ware 7006-2 ATA RAID Controller.
#
# returns 1 if RAID error was detected, 2 if DISK error was detected
#
# Marcus T. Jaschen < rikman (@) gmail >
# 2006-02-03
#
# tw_cli binary location
TWCLI=/usr/local/sbin/tw_cli
# controller name
CONTROLLER=c2
# get complete status
STATUS_CONTROLLER=`$TWCLI /$CONTROLLER show`
# check for RAID status
STATUS_RAID=`echo "$STATUS_CONTROLLER" | grep "^u0" | awk '{ print $3; }'`
[[ $STATUS_RAID != "OK" ]] && {
echo "#################################################"
echo "# RAID ERROR DETECTED: #"
echo "#################################################"
echo "$STATUS_CONTROLLER"
exit 1
}
# check for disk status
STATUS_DISKS=`echo "$STATUS_CONTROLLER" | grep "^p[[:digit:]]" | awk '{ print $2; }'`
[[ -z `echo "$STATUS_DISKS" | grep -v "^OK$"` ]] || {
echo "#################################################"
echo "# DISK ERROR DETECTED: #"
echo "#################################################"
echo "$STATUS_CONTROLLER"
exit 2
}
exit 0
Code: Alles auswählen
From root@node1.site Tue Sep 25 17:51:04 2007
Return-Path: <root@node1.site>
X-Original-To: root
Delivered-To: root@node1.site
Received: by node1.site (Postfix, from userid 0)
id 5B10317D7F; Tue, 25 Sep 2007 17:51:01 +0200 (CEST)
From: root@node1.site
To: root@node1.site
Subject: Cron <root@node1> root test -x /usr/local/3ware/check_raid.sh && /usr/local/3ware/check_raid.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20070925155104.5B10317D7F@node1.site>
Date: Tue, 25 Sep 2007 17:51:01 +0200 (CEST)
/bin/sh: root: command not found
Danke schonmal im vorraus
mfg peter
[/list][/code]