Server Neu starten und anpingen
Hallo liebe Gemeinde,
ich habe in der Schule eine kleine Skripting Aufgabe bekommen wo ich mir leider nicht zu helfen weiß.
Ich hoffe Ihr könnt mir da vlt. weiter helfen.
Aufgaben Stellung:
Der Server X soll Neu gestartet werden, während dessen soll ein Fenster aufgehen mit der aufschrift "Dieser Server wird in 30 Sek Neu gestartet.
Wenn man das Skript ausführt soll ein Ping gesendet werden, solange der Server wieder oben ist.
Der Server soll mir nur zurück geben wann er wieder zu erreichen ist.
d.h. Der Server rebootet kommt dann wieder hoch und dann soll er mir sagen, dass er wieder da ist.
Hier ist auch mein Problem ich kann den zwar sagen dass er gepingt werden soll, aber der Pingt den Server einmal an bevor er rebootet.
Hier mein bisheriges Skript (Medico-Win7 = Server) :
Besten Dank im Voraus
Gruß
David
ich habe in der Schule eine kleine Skripting Aufgabe bekommen wo ich mir leider nicht zu helfen weiß.
Ich hoffe Ihr könnt mir da vlt. weiter helfen.
Aufgaben Stellung:
Der Server X soll Neu gestartet werden, während dessen soll ein Fenster aufgehen mit der aufschrift "Dieser Server wird in 30 Sek Neu gestartet.
Wenn man das Skript ausführt soll ein Ping gesendet werden, solange der Server wieder oben ist.
Der Server soll mir nur zurück geben wann er wieder zu erreichen ist.
d.h. Der Server rebootet kommt dann wieder hoch und dann soll er mir sagen, dass er wieder da ist.
Hier ist auch mein Problem ich kann den zwar sagen dass er gepingt werden soll, aber der Pingt den Server einmal an bevor er rebootet.
Hier mein bisheriges Skript (Medico-Win7 = Server) :
@echo off
shutdown /r /M \\MEDICO-WIN7 /t 30 /c "Dieser Server wird in 30 Sek neugestartet" /d p:0:0
set i = medico-win7
ping -n 1 medico-win7 >null
if errorlevel == 1 goto NOT
if errorlevel == 0 goto OK
:NOT
echo Server down
goto ENDE
:OK
echo Server Up
goto ENDE
:ENDE
Besten Dank im Voraus
Gruß
David
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 254071
Url: https://administrator.de/contentid/254071
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo,
am besten mit 2 Schleifen.
shutdown senden
(Jetzt braucht der Server ne Weile bis er auch wirklich heruntergefahren ist)
Solange in einer Schleife pingen bis er nicht erreichbar ist = Ausgabe: Server down
Dann in einer Schleife darauf warten, dass wieder ein Ping möglich ist = Server up
(Bedenke aber, dass der Server durch einen Ping erreichbar ist obwohl bestimmte Dienste noch nicht laufen/bereit sind)
am besten mit 2 Schleifen.
shutdown senden
(Jetzt braucht der Server ne Weile bis er auch wirklich heruntergefahren ist)
Solange in einer Schleife pingen bis er nicht erreichbar ist = Ausgabe: Server down
Dann in einer Schleife darauf warten, dass wieder ein Ping möglich ist = Server up
(Bedenke aber, dass der Server durch einen Ping erreichbar ist obwohl bestimmte Dienste noch nicht laufen/bereit sind)
Hi,
die Batch oben sollte schon gehen, nur musst Du am Ende von dem ":not" kein Goto Ende machen
sondern GOTO REPING und :REPING als Sprungmarke in Zeile 6 einsetzen,
damit er im Falle des NOT auch wieder nach oben springt und weiterpingt (bis OK eintritt)
Vor dem ECHO Server UP würde ich noch ein
ping -n 180 localhost >NUL setzen
damit die UP-Meldung sich noch 3 Minuten Zeit damit lässt
(weil der Server nach dem ersten Ping ja noch nicht komplett hochgefahren ist.
Gruss RS
die Batch oben sollte schon gehen, nur musst Du am Ende von dem ":not" kein Goto Ende machen
sondern GOTO REPING und :REPING als Sprungmarke in Zeile 6 einsetzen,
damit er im Falle des NOT auch wieder nach oben springt und weiterpingt (bis OK eintritt)
Vor dem ECHO Server UP würde ich noch ein
ping -n 180 localhost >NUL setzen
damit die UP-Meldung sich noch 3 Minuten Zeit damit lässt
(weil der Server nach dem ersten Ping ja noch nicht komplett hochgefahren ist.
Gruss RS
@echo off
set ZielSystem=medico-win7
REM ***Shutdown***
shutdown /r /M \\%ZielSystem% /t 30 /c "Dieser Server wird in 30 Sek neugestartet" /d p:0:0
echo Signal zum herunterfahren an %ZielSystem% gesendet
REM ***Wait for Server down***
echo Warte auf Server shutdown
:LOOP1
ping -n 5 localhost >NUL
ping -n 1 %ZielSystem% >NUL
if %errorlevel% == 0 goto LOOP1
echo Server down
REM ***Wait for Server up***
echo Warte auf Antwort des Servers
:LOOP2
ping -n 5 localhost >NUL
ping -n 1 %ZielSystem% >NUL
if %errorlevel% == 1 goto LOOP2
echo Server up
pause