Online Status eines Servers über die Kommandozeile abfrage?

S

split

Jungspund
Hallo,

gibt es ein einfaches kommando mit dem ich den Online (evtl auch Uptime) Status eines entfernten Servers (Suse Linux) abzufragen?

Danke für Eure Hilfe
 
Hallo
Code:
ssh user@server uptime
Ansonsten musst du wohl noch einige zusätzliche Informationen liefern... Einschränkungen und so...

Gruss
d22
 
Danke mal!

Naja, ich will in einem Script Abfragen ob der Server online ist um einige Daten des Servers danach auslesen und auswerten zu können.
 
Moin, moin,

Naja, ich will in einem Script Abfragen ob der Server online ist um einige Daten des Servers danach auslesen und auswerten zu können.

Wenn ein HTTP-Server läuft könnte man das über ein php-Skript erledigen. Das wird mit wget abgefragt und gibt Systemwerte zurück.

Gruß
Blur
 
Hi,

wenn es sich um ein shellscript handelt, würde ich - falls vorhanden - mit ping oder besser netcat/nc (Wenn's ein bestimmter Port sein soll) arbeiten:
# ping -c1 router >/dev/null 2>&1 && echo online || echo offline
online
# netcat -zw1 router 22 >/dev/null 2>&1 && echo online || echo offline
online
Netcat bietet meines Erachtens ein paar Vorteile, da man nicht an das - in manchen Netzen dummerweise blockierte - icmp gebunden ist.
Oder Du machst einfach direkt einen SSH-Aufruf mit der Option ConnectTimeout um zu sehen, ob das Ziel den code ausführt oder nicht (Hier taucht dann auch ein offline auf, wenn die Authorisierung fehlschlug, es "fallout" auf router nicht gibt, etc.)
# ssh -o ConnectTimeout=3 fallout@router "#" 2>/dev/null && echo online || echo offline
online
Diese Testmethode könnte aber Probleme machen, falls Du - wie normal üblich - StrictHostKeyChecking in Deinem Client aktiv hast, oder falls ein Passwort abgefragt wird. Dies könntest Du dann vielleicht noch so ausgrenzen:
# ssh -o ConnectTimeout=3 -o StrictHostKeyChecking=no -o PasswordAuthentication=no fallout@router "#" 2>/dev/null && echo online || echo offline
online

Gruß Daniel
 
Zuletzt bearbeitet:
Hi

danke mal für den Typ
wenn ich es mit dem Localhost probiere kommt nach folgendem Befehl:
# netcat -zw1 localhost >/dev/null 2>&1 && echo online || echo offline
# offline

obwohl ich ja am laufenden server probiere!?
 
Hi

danke mal für den Typ
wenn ich es mit dem Localhost probiere kommt nach folgendem Befehl:


obwohl ich ja am laufenden server probiere!?

Der Befehl schlägt fehl, weil Du den Port vergessen hast:
Code:
# [b]netcat -zw1 localhost [u]22[/u][/b] [i]>/dev/null 2>&1 && echo online || echo offline[/i]
Du kannst auch den hinteren Teil mit den Umleitungen und bool'schen Verknüpfungen zum Testen weglassen - das dient eigentlich nur dazu, eine selbstdefinierte Statusausgabe (online/offline) zu schreiben.
Genaueres bzw. was netcat noch alles kann findest Du wie immer in der manpage :rtfm: :D
Code:
# netcat -zvvw1 localhost 22   # z=zerobyte(nur testen) vv=veryverbose w1=wait1sectimeout
# man netcat

Gruß Daniel
 
Zuletzt bearbeitet:
Super ich danke dir für deine Hilfe.


Gruß Alex
 

Ähnliche Themen

Samba 4 aus repository über lokale Source-Installation installieren?

Apache HTTP Server startet nicht

KS Installation über lokale FTP Repository (Start von USB-Stick)

File-Index-Enigne based on redis (in-memory DB)

Email via Script über Exchange Server versenden (SASL)

Zurück
Oben