• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

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

kaipw

Member
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
 
OP
kaipw

kaipw

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

danke trotzdem
gruss kai
 

TeXpert

Guru
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:
mail -s "Server is down" root < mailmessage.txt

PS: ein man mail hätte das beantwortet!
 

regexer

Advanced Hacker
kaipw schrieb:
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.
 
Oben