Ping-Batch Problem, welche Werte gibt W2K Server zurück?
Hallo allerseits.
Ich habe ein kleines Problemchen bei der Erstellung einer Batchdatei, bzw vielmehr den unterschiedlichen Rückgabewerten von XP und W2K Server.
Da wir momentan an einem unserer Linux Server ein Problem haben (Ja, auch das gibt es) und dieser in unregelmäßigen Abständen abstürzt wollte ich "auf die schnelle" eine kleine Ping-Batch Datei erstellen die in gewissen Abständen einen Ping Befehl auf den besagten Server schickt und bei einem Ausfall eine SMS auf mein Bereitschaftshandy schickt.
Soweit so gut, alles zusammengeschrieben (Auf meiner XP WS), kappte auch.
Nun die Datei rüber auf den W2K Server, auf dem ich die Bat gerne laufen hätte und was ist?
Richtig, sie tut es nicht mehr, das heißt W2K liefert irgendwelche anderen Werte (Wenn überhaupt?) zurück als XP, kann mir vieleicht einer von euch weiterhelfen oder einen Tipp geben?
Bei dem Serverbetriebssystem handelt es sich wie bereits gesagt um ein Windows 2000 Server mit aktuellstem SP und Updates.
Hier der Code der Batch Datei:
Auch für andere Lösungsansätze habe ich natürlich immer ein offnes Ohr!
Ich könnte natürlich auch einfach alles in eine Log schreiben lassen und dann wiederum diese Log durchsuchen und auswerten lassen, aber das ist meiner Meinung nach nicht gerade die schönste Lösung.
Schonmal vielen dank für die Hilfe.
Wünsche euch noch einen schönen Arbeitstag.
mfg
Marco
Ich habe ein kleines Problemchen bei der Erstellung einer Batchdatei, bzw vielmehr den unterschiedlichen Rückgabewerten von XP und W2K Server.
Da wir momentan an einem unserer Linux Server ein Problem haben (Ja, auch das gibt es) und dieser in unregelmäßigen Abständen abstürzt wollte ich "auf die schnelle" eine kleine Ping-Batch Datei erstellen die in gewissen Abständen einen Ping Befehl auf den besagten Server schickt und bei einem Ausfall eine SMS auf mein Bereitschaftshandy schickt.
Soweit so gut, alles zusammengeschrieben (Auf meiner XP WS), kappte auch.
Nun die Datei rüber auf den W2K Server, auf dem ich die Bat gerne laufen hätte und was ist?
Richtig, sie tut es nicht mehr, das heißt W2K liefert irgendwelche anderen Werte (Wenn überhaupt?) zurück als XP, kann mir vieleicht einer von euch weiterhelfen oder einen Tipp geben?
Bei dem Serverbetriebssystem handelt es sich wie bereits gesagt um ein Windows 2000 Server mit aktuellstem SP und Updates.
Hier der Code der Batch Datei:
:START
ping X.X.X.X >>ping.txt
if %errorlevel% == 0 (goto 2)
echo ==============================>>ping.txt
goto 1
:1
echo Keine Erreichbarkeit Liserv3: >>ping.txt
echo %date% >>ping.txt
echo %time% >>ping.txt
setlocal
set Empfaenger=01712345678@T-D1-SMS.de
set Absender=Absender@Adresse.de
set Betreff="Ausfall Linux Server"
rem Mail verschicken
blat \\Servername\Verzeichnis\ServerAusfall.txt -to %empfaenger% -server X.X.X.X -i %absender% -f %absender% -s %betreff%
endlocal
:2
sleep 10
goto START
Auch für andere Lösungsansätze habe ich natürlich immer ein offnes Ohr!
Ich könnte natürlich auch einfach alles in eine Log schreiben lassen und dann wiederum diese Log durchsuchen und auswerten lassen, aber das ist meiner Meinung nach nicht gerade die schönste Lösung.
Schonmal vielen dank für die Hilfe.
Wünsche euch noch einen schönen Arbeitstag.
mfg
Marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 48038
Url: https://administrator.de/contentid/48038
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo MeNeCK und willkommen im Forum!
W2000 scheint tatsächlich etwas seltsame Errorlevel beim Ping zu liefern - als Alternative wurde irgendwann hier im Forum hrPING genannt.
HTH
bastla
W2000 scheint tatsächlich etwas seltsame Errorlevel beim Ping zu liefern - als Alternative wurde irgendwann hier im Forum hrPING genannt.
HTH
bastla
Moin MeNeCK,
einige der von M$ ausgelieferte Ping.exe-Versionen habenden Bug das Feature das Verhalten, dass kein verwertbarer Errorlevel gesetzt wird. War bei Win NT mal so, bei frühen W2K-Versionen, bei XP dann wieder nicht...
However, wenn der Errorlevel nicht direkt verwertbar ist, musst Du über Bande spielen und nach dem Vorkommen einen bestimmten Strings in der Text-Rückgabe der Ping.exe suchen.
Dazu wird oft empfohlen:
Ich empfehle die sprachunabhängige Prüfung auf den String "100%", der auch in einer mexikanischen oder chinesischen Ping.exe auftuchen wird, wenn 100% der Versuche in die Grütze gegangen sind.
Gruß
Biber
einige der von M$ ausgelieferte Ping.exe-Versionen haben
However, wenn der Errorlevel nicht direkt verwertbar ist, musst Du über Bande spielen und nach dem Vorkommen einen bestimmten Strings in der Text-Rückgabe der Ping.exe suchen.
Dazu wird oft empfohlen:
ping X.X.X.X|find "Antwort">nul || echo Server X.X.X.X nicht erreichbar
-oder-
ping X.X.X.X|find "Reply">nul || echo Server X.X.X.X nicht erreichbar
- da es die Ping ja in sprachabhängigen Varianten gibt.
:SleepAndTryAgain
Sleep 10
ping X.X.X.X|find "100%">nul && goto NoPingResponse
:: hier normal weiter.... Server antwortet...
...
goto SleepAndTryAgain
:NoPingResponse
echo %date% %time% Server X.X.X.X nicht erreichbar >>ping.txt
....
goto SleepAndTryAgain
Gruß
Biber
Hallo MeNeCK, moin Biber,
ich halte die Abfrage 100% für suboptimal, da ihr so evtl. bei hoher Netzwerklast eine Server-Ausfall-Mail bekommt. Und das ist doch nicht im Sinne des Erfinders, oder?
Was spricht eigentlich gegen die sprachabhängige ODER-Abfrage?
@Biber: Nimm das bitte mal als Vorschlag (und dich der Syntax an )
geTuemII
ich halte die Abfrage 100% für suboptimal, da ihr so evtl. bei hoher Netzwerklast eine Server-Ausfall-Mail bekommt. Und das ist doch nicht im Sinne des Erfinders, oder?
Was spricht eigentlich gegen die sprachabhängige ODER-Abfrage?
set pingok=1
ping X.X.X.X|find "Antwort">nul || set pingok=0
ping X.X.X.X|find "Reply">nul || set pingok=0
if (pinkgok)==(0) (echo Server X.X.X.X nicht erreichbar)
@Biber: Nimm das bitte mal als Vorschlag (und dich der Syntax an )
geTuemII
Moin geTuemII,
Die "100%", die ich prüfe, werden nur und ausschließlich angezeigt als (dt. Version) "100% Verlust", was nur vorkommt, wenn alle gesendeten Datenpakete in die Tonne statt an den Server gesendet werden.
Beispiel für existierenden und erreichbaren Server wäre
Und "100% Verlust" kann -unabhängig von der Netzwerklast- wirklich nur bei Nicht-Erreichbarkeit im Text enthalten sein.
Du bist wahrscheinlich von einer Prüfung auf "100% Erfolg" ausgegangen - in dem Fall würde ich Dir Recht geben.
Gruß
Biber
P.S. Zu Deiner Syntax:
Mein Beispiel mit der chinesischen Ping.exe hat Dich vielleicht nach Südost-Asien versetzt...
Bangkok kenn ich (vom Namen her), aber pingkok... auch so eine schwäbische Spezialität?
[Edit]
Außerdem: Wenn er eine "deutsche" Ping-Version im Einsatz hat, dann geht es schief:
[/Edit]
ich halte die Abfrage 100% für suboptimal
Ist ja auch nur ein Batch, kein Satellitensteuerungsprogramm....Die "100%", die ich prüfe, werden nur und ausschließlich angezeigt als (dt. Version) "100% Verlust", was nur vorkommt, wenn alle gesendeten Datenpakete in die Tonne statt an den Server gesendet werden.
Beispiel für existierenden und erreichbaren Server wäre
$cmd$ping /n 1 www.russenschlampen.de
Ping www.russenschlampen.de [217.111.100.215] mit 32 Bytes Daten:
Antwort von 217.111.100.215: Bytes=32 Zeit=35ms TTL=55
Ping-Statistik für 217.111.100.215:
Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0 <b>(0% Verlust),</b>
Du bist wahrscheinlich von einer Prüfung auf "100% Erfolg" ausgegangen - in dem Fall würde ich Dir Recht geben.
Gruß
Biber
P.S. Zu Deiner Syntax:
Mein Beispiel mit der chinesischen Ping.exe hat Dich vielleicht nach Südost-Asien versetzt...
if (pinkgok)==(0) ...
if (%pingok%)==(0) ...
Außerdem: Wenn er eine "deutsche" Ping-Version im Einsatz hat, dann geht es schief:
ping X.X.X.X|find "Antwort">nul || set pingok=0
REM "Antwort" hat er gefunden.. %pingok% bleibt, wie es war...
ping X.X.X.X|find "Reply">nul || set pingok=0
REM ...aber "Reply" wird er NIEMALS finden... und setzt jetzt den %pingok% auf 0....<i>Works as designed..</i>
Hallo Biber,
was? Ich dachte, mit weniger gibst du dich gar nicht ab?
Du hast völlig recht, das war mir völlig entgangen...
Ich liebe deine Beispiele ;)
- die aber so gar niemals nicht angezeigt wird --> Ich ziehe meinen Beitrag vollinhaltlich zurück!
Schön wärs, nach 2 Wochen Urlaub bin ich urlaubsreif...
[Bangkok vs. pingkok -- schwäbische Spezialität?]
<beiseite> Irgendwann krieg ich ihn wegen dieser Quotenmarderei! </beiseite>
Lieber Biber, du weißt doch, daß das eher Maultaschen und Spätzle sind (und noch ein paar andere Sachen, die wir aber vor so auswärtigen lieber geheim halten).
Ich wußte doch, warum du drüberlesen solltest <ginz>
geTuemII
Ist ja auch nur ein Batch, kein Satellitensteuerungsprogramm....
was? Ich dachte, mit weniger gibst du dich gar nicht ab?
Die "100%", die ich prüfe, werden nur und ausschließlich angezeigt
als (dt. Version) "100% Verlust"
als (dt. Version) "100% Verlust"
Du hast völlig recht, das war mir völlig entgangen...
Ping www.russenschlampen.de
Ich liebe deine Beispiele ;)
Du bist wahrscheinlich von einer Prüfung auf "100% Erfolg"
ausgegangen -
ausgegangen -
- die aber so gar niemals nicht angezeigt wird --> Ich ziehe meinen Beitrag vollinhaltlich zurück!
Mein Beispiel mit der chinesischen Ping.exe hat Dich vielleicht nach Südost-Asien
versetzt...
versetzt...
Schön wärs, nach 2 Wochen Urlaub bin ich urlaubsreif...
[Bangkok vs. pingkok -- schwäbische Spezialität?]
<beiseite> Irgendwann krieg ich ihn wegen dieser Quotenmarderei! </beiseite>
Lieber Biber, du weißt doch, daß das eher Maultaschen und Spätzle sind (und noch ein paar andere Sachen, die wir aber vor so auswärtigen lieber geheim halten).
Außerdem: Wenn er eine "deutsche" Ping-Version im Einsatz
hat, dann geht es schief:
hat, dann geht es schief:
Ich wußte doch, warum du drüberlesen solltest <ginz>
geTuemII
@geTuemII
Ich liebe diesen schwäbischen Dialekt...
[Ich hoffe, wenn ich weiter so charmant bin, bekomm ich bestimmt ein paar Maultaschen,,,]
Schönen Abend und liebe Grüße aus Bremen
Biber
<ginz>
Immer noch gedanklich in Südost-Asien? Und muss es dann nicht <glinz> heißen?Ich liebe diesen schwäbischen Dialekt...
[Ich hoffe, wenn ich weiter so charmant bin, bekomm ich bestimmt ein paar Maultaschen,,,]
Schönen Abend und liebe Grüße aus Bremen
Biber