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

Abfrage ob Application im Netzerk erreichbar ist

Moin moin zusammen.

Mein vorhaben klingt zwar komisch... aber unter php gehts ^^.

Also ich will ganz einfach wissen ob die application die auf server x.de auf port XYZ noch ansprechbar ist.

Als beispiel:
ist die application von www.server-xyz.tld:0001 online?

Wenn nicht email senden
wenn ja OK & Exit

Das ganze ding sollte dann als "bash" script laufen, da ich es als cronjob alle x stunden laufen lassen will.

Hat jemand eine Idee??

LG
Metalllike
 

stka

Guru
Wenn du suse einsetzt, teste doch einfach über "rc<dienst> status" z.B. "rcapache2 status" wenn der Dienst läuft bekommst du ein "true" zurück, sonst ein "false". Wenn der Dienst dann nicht läuft generiere dir eine Mail.
 

michael77

Newbie
...ist die application von http://www.server-xyz.tld:0001 online?...

Vielleicht reicht ja auch ein einfacher Portscan?
(EDIT: Wenn die Application auf einem anderen Rechner läuft. Lokal ist, wie vorgeschlagen, ein "rcxyz status" bzw. "/etc/init.d/xyz status" einfacher.)

Code:
# nmap -p 3306 localhost
Interesting ports on localhost (127.0.0.1):
PORT     STATE SERVICE
3306/tcp open  mysql
wenn was anderes als "open" da steht... ist dann halt blöd ^^
 

Gimpel

Guru
Ich würde das mit curl testen. Nur wenn der Port offen ist, oder der Prozess läuft, heißt das ja noch nicht, dass die Applikation auch erreichbar ist.

Irgendwas ala
Code:
if [ `curl -s -w "%{http_code}" --url http://gimpel.ath.cx -o /dev/null` -ne 200 ]; then
   echo "CRITICAL: Page is down" | mail -s "Problem: Page is down" moo@foo.org
   exit 2
else
   echo "OK: Page is up"
   exit 0
fi
 
Oben