Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » Sonstige Sprachen » [BATCH] Ping protokollieren    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag


Neuling


Dabei seit: 01.01.1970
Herkunft:
Posts:
     [BATCH] Ping protokollieren Zitat | Bearbeiten

Hallo Leute,

ich muss alle 2 Minuten einen PING auf einen Server jagen, um zu prüfen, wann er nicht mehr erreichbar ist. Momentan mache ich das ganz simpel so:

 Code 
1:
ping 10.50.7.12 -n 1 >> c:\logs\server_21_ping.txt


Klappt prima, führe ich alle 2 Minuten mit dem Taskplaner kurz aus.

Problem: Die Ausgabe enthält viel Müll:
Zitat:
Ping wird ausgefhrt fr 10.50.7.12 mit 32 Bytes Daten:
Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64

Ping-Statistik fr 10.50.7.12:
Pakete: Gesendet = 9, Empfangen = 9, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 1ms, Mittelwert = 0ms


Kann mir jemand sagen, wie ich die Ausgabe einfach nur auf den Teil der Antwort reduzieren kann?

Möchte als Ausgabe halt nur folgendes haben, weil mir der Teil nicht interessiert, am besten noch mit Zeitstempel:

Zitat:
06.02.2015 15:50 -> Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64
06.02.2015 15:52 -> Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64
06.02.2015 15:54 -> Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64
06.02.2015 15:56 -> Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64
06.02.2015 15:58 -> Antwort von 10.50.7.12: Bytes=32 Zeit=1ms TTL=64


Jemand eine Idee, wie ich das mit Batch-Dateien machen kann?
Mit PHP wäre das ja kein Thema

Danke im Voraus"


06.02.2015, 15:44 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2496
      Zitat | Bearbeiten

Musst du das denn auf diese Weise machen?
Und dürfte ich fragen, wieso du das machst?

Vielleicht gibt es da ja eine bessere alternative.

Kenne die genauen Umstände ja nicht, aber theoretisch könnte man auch einfach ein PHP-Konsolen-Skript schreiben, welchen den Ping absetzt und das Ergebnis speichert, welches man dann eben php C:\pfad\zum\skript.php aufruft, anstatt ping 10.50.7.12 -n 1 >> ...


Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen
07.02.2015, 12:40 Profil | PM | E-Mail  


Neuling


Dabei seit: 01.01.1970
Herkunft:
Posts:
      Zitat | Bearbeiten

Huhu,

ja, sollte ohne zusätzlichen Dienst laufen.

Ich mache das deshalb, da ein Server nachts eine Datensicherung macht und anschließend herunterfährt. Damit kann ich halt schauen, wann der Shutdown war und wann er wieder online ist.

Da ich dank DS-Lite nicht auf den Server per RDP kann, muss ich das leider so machen und klappt auch, nur die Ausgabe ist total unübersichtlich. Wenn man die sauberer hin bekommt, wäre das geil!

Danke




Post wurde schon 1x editiert, das letzte mal am 09.02.2015 um 09:33 von
09.02.2015, 09:32 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2496
      Zitat | Bearbeiten

Zitat:
Orginal von Dennis1993
Huhu,

ja, sollte ohne zusätzlichen Dienst laufen.

Ich mache das deshalb, da ein Server nachts eine Datensicherung macht und anschließend herunterfährt. Damit kann ich halt schauen, wann der Shutdown war und wann er wieder online ist.

Da ich dank DS-Lite nicht auf den Server per RDP kann, muss ich das leider so machen und klappt auch, nur die Ausgabe ist total unübersichtlich. Wenn man die sauberer hin bekommt, wäre das geil!

Danke


Achso ok und auf dem Server/Rechner, auf dem du den Ping ausführst ist kein PHP installiert oder eine Installation möglich?

Edit:
Ich hab mal nach einem vergleichbarem Befehl wie grep unter Linux gesucht, nur eben und findstr gefunden.
Ich würde es dann so machen, wie man es auch unter Linux machen würde:
Zitat:
ping -n 1 google.de | findstr /R /C:"Antwort von .*"

In diesem Fall habe ich mal als Beispiel google.de genommen.

Das Datum und die Uhrzeit würde ich dann vorher schon in die Datei schreiben.
Wenn das ein Befehl sein muss, würde ich das dann so zusammenfassen:
Zitat:
echo %date% - %time%: >>c:\logs\server_21_ping.txt && ping 10.50.7.12 -n 1 | findstr /R /C:"Antwort von .*" >>c:\logs\server_21_ping.txt

So steht zwar das Datum und die Uhrzeit jeweils über dem Ping, aber vielleicht weißt du ja, wie man das in eine Zeile schreibt. Wüsste auf die Schnelle nicht wie, aber die nötigen Informationen wären ja vorhanden.


Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen

Post wurde schon 1x editiert, das letzte mal am 09.02.2015 um 13:07 von DingsDaBums
09.02.2015, 12:49 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » Sonstige Sprachen » [BATCH] Ping protokollieren   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz