Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 20. Nov 2018 21:43

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 25. Sep 2007 15:35 
Hallo,

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:
#!/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 &#40;@&#41; 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 '&#123; print $3; &#125;'`

&#91;&#91; $STATUS_RAID != "OK" &#93;&#93; && &#123;
	echo "#################################################"
	echo "#             RAID ERROR DETECTED&#58;              #"
	echo "#################################################"
	echo "$STATUS_CONTROLLER"
	exit 1
&#125;

# check for disk status
STATUS_DISKS=`echo "$STATUS_CONTROLLER" | grep "^p&#91;&#91;&#58;digit&#58;&#93;&#93;" | awk '&#123; print $2; &#125;'`

&#91;&#91; -z `echo "$STATUS_DISKS" | grep -v "^OK$"` &#93;&#93; || &#123;
	echo "#################################################"
	echo "#             DISK ERROR DETECTED&#58;              #"
	echo "#################################################"
	echo "$STATUS_CONTROLLER"
	exit 2
&#125;

exit 0
Dieses Script benachrichtigt mich aber alle 15 min mit folgender Fehlermeldung:
Code:
From root@node1.site  Tue Sep 25 17&#58;51&#58;04 2007
Return-Path&#58; <root@node1.site>
X-Original-To&#58; root
Delivered-To&#58; root@node1.site
Received&#58; by node1.site &#40;Postfix, from userid 0&#41;
	id 5B10317D7F; Tue, 25 Sep 2007 17&#58;51&#58;01 +0200 &#40;CEST&#41;
From&#58; root@node1.site
To&#58; root@node1.site
Subject&#58; Cron <root@node1> root test -x /usr/local/3ware/check_raid.sh && /usr/local/3ware/check_raid.sh
X-Cron-Env&#58; <SHELL=/bin/sh>
X-Cron-Env&#58; <HOME=/root>
X-Cron-Env&#58; <PATH=/usr/bin&#58;/bin>
X-Cron-Env&#58; <LOGNAME=root>
X-Cron-Env&#58; <USER=root>
Message-Id&#58; <20070925155104.5B10317D7F@node1.site>
Date&#58; Tue, 25 Sep 2007 17&#58;51&#58;01 +0200 &#40;CEST&#41;

/bin/sh&#58; root&#58; command not found
Es sollte mich aber nur im Ernstfall benachrichtigen, wenn eine Platte defekt ist!!!!!!!!!Was ist an dem Script falsch, habe keine Erfahrung mit so etwas!!
Danke schonmal im vorraus

mfg peter

[/list][/code]


Nach oben
   
 Betreff des Beitrags: root
BeitragVerfasst: 25. Sep 2007 19:59 
Als Befehlsaufruf im cron "root". Na ja, das Programm kenne ich auch nicht.

Dokus gibts:
man 5 crontab oder
linux-praxis.de

bye sumsi


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 26. Sep 2007 11:16 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Ich gehe mal davon aus, dass /bin/sh ein Link auf bash ist. Dann gehören da nur einfache Brackets "[" um den zu prüfenden Ausdruck, keine doppelten.

Abgesehen davon ist es meines Erachtens sinnvoller, den Syslog so umzukonfigurieren, dass kritische Fehler an ohnehin per Mail verschickt werden. Dann braucht man nicht alle paar Minuten pollen, sondern bekommt gleich die Meldungen per Mail, sobald der Treiber sie in den Syslog schreibt.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 26. Sep 2007 12:41 
Danke für die Antworten!!!
Wie schreibe ich die syslogs den um ,sodass sie mir den Fehler melden? Hättet ihr vielleicht eine Anleitung???

mfg peter


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 26. Sep 2007 18:46 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Man kann in /etc/syslog-ng/syslog-ng.conf eine weitere
Code:
destination mymail &#123; 
	program&#40;"/usr/bin/mailx loguser@loghost"&#41;; 
&#125;;
hinzufügen und dann die zuvor passend gefilterten Nachrichten dorthin umleiten.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de