sh Script ping eines Servers

Bash, Shell, PHP, Python, Perl, CGI
xamibor
Posts: 211
Joined: 2003-03-11 16:52

sh Script ping eines Servers

Post by xamibor »

Hi,

ich bin etwas unerfahren was das Programmieren von sh scripts. Ich will von meine Server lokal einen ping auf meinen root server machen der alle 5 Minuten ausgeführt wird .... was anneversich kein Problem ist:

Code: Select all

ping -n -c 1 xxx.xxx.xxx.xxx || echo "Server ist nicht erreichbar"|mail -s "Server ist nicht erreichbar" meine@email.de
Nun problematisch ist es nur was ist wenn der Server down ist und ich die email erst eine Stunde später lesen kann ...

Wie sollte ich ein Script schreiben das wenn beim ersten Ping fehler einen weiteren ping in 2 Minuten ausführt und dann erst wieder nach erreichbarkeit ... sozusagen eine wieder "Gut Meldung" ...

hat jemand ein tipp wie ich so etwas mache bzw. wie man so etwas schreibt?

Danke
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: sh Script ping eines Servers

Post by chris76 »

Warum verwendest zu nich z.b. Nagios oder dessen Plugins?
Das bietet dir weit mehr möglichkeit als nur der einfache Ping.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error
xamibor
Posts: 211
Joined: 2003-03-11 16:52

Re: sh Script ping eines Servers

Post by xamibor »

Nagios ist gut ich bin am anfang und das ist etwas zu mächtig für mich .... ich dachte mir nur mit diesem Script die dienstleistung eines externen server überwachungs tool zu ersparen ...
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: sh Script ping eines Servers

Post by chris76 »

Du kannst dir doch nagios/Plugins auf deinem lokalen Rechner installieren von dem aus Du den Ping machen willst.
Gruß Christian

BofH excuses: YOU HAVE AN I/O ERROR -> Incompetent Operator error
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: sh Script ping eines Servers

Post by captaincrunch »

Ersetz deine kleine ||-Kombi durch ein einfaches "if [...]; then", dann passt die Geschichte.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
eof__
Posts: 30
Joined: 2005-07-12 17:40

Re: sh Script ping eines Servers

Post by eof__ »

CaptainCrunch wrote:Ersetz deine kleine ||-Kombi durch ein einfaches "if [...]; then", dann passt die Geschichte.
ping -n -c 1 xxx.xxx.xxx.xxx || ( echo "Server ist nicht erreichbar"|mail -s "Server: `hostname` ist nicht erreichbar" meine@email.de )

sollte es auch tun. :wink: