Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Script soll, wenn Fehler vorhanden - Email an root senden!

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
kaipw
Member
Member
Beiträge: 105
Registriert: 6. Sep 2004, 17:26
Wohnort: münchen

Script soll, wenn Fehler vorhanden - Email an root senden!

Beitrag von kaipw »

hello leutz,

da ich mich momentan stark mit dem Thema Cluster (Heartbeat und DRBD) beschäftige, habe ich mir ein Script geschrieben, dass mir bei einem Fehler eine Email an user root senden soll.

ein simples bsp wie ich mir es dachte, wäre:

#!/bin/bash

ping -c1 192.168.0.1

if test $? -ne 0
then
mail -s SERVER IS DOWN root -f /home/root/warnung.txt

fi

doch leider funktioniert dieses nicht und das script wartet, bis ich eine eingabe gemacht habe und die email mit "control-d" abschließe.

have anyone an idea?!

gruss und danke
kai
Benutzeravatar
kaipw
Member
Member
Beiträge: 105
Registriert: 6. Sep 2004, 17:26
Wohnort: münchen

Beitrag von kaipw »

habs mit nem "pipe" probiert und es hat funktioniert...

danke trotzdem
gruss kai
Benutzeravatar
TeXpert
Guru
Guru
Beiträge: 2166
Registriert: 17. Jan 2005, 11:22

Beitrag von TeXpert »

dein mail-Aufruf ist nicht gut, denn hast Du das mal manuell versucht?

1. -s SERVER IS DOWN muss sein -s "SERVER IS DOWN" da nur das erste Wort als Subject gelesen wird,

2. -f gibt keinen messagetext an -> hier also < /home/root/warnung.txt

insgesamt gibt das ein :

Code: Alles auswählen

mail -s "Server is down" root < mailmessage.txt
PS: ein man mail hätte das beantwortet!

Code: Alles auswählen

# to resolve all your problems, try this:
HOWTO='pack c5,41*2,sqrt 7056,unpack(c,H)-2,oct 115' && perl -le "print $HOWTO"
Ich beantworte keine Supportfragen per PM!
Benutzeravatar
regexer
Advanced Hacker
Advanced Hacker
Beiträge: 1005
Registriert: 3. Dez 2004, 09:29
Wohnort: $_

Re: Script soll, wenn Fehler vorhanden - Email an root sende

Beitrag von regexer »

kaipw hat geschrieben: ping -c1 192.168.0.1
if test $? -ne 0
then
mail -s SERVER IS DOWN root -f /home/root/warnung.txt
Nur so als Tipp: Ich würde den Returncode unbedingt in der Mail mitschicken. "SERVER IS DOWN" kann nämlich im Zweifelsfall irreführend sein (Wenn z.B. der ping auf dem lokalen System aus irgendwelchen Gründen fehlgeschlagen ist).

Ich sage das nur, weil ich aufgrund einer solchen Abfrage schon einmal einem Fehler stundenlang hinterhergerannt bin. Auf jeden fall macht eine unterscheidung zwischen Returncode 1 und >1 Sinn.
Antworten