Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Reboot per Script bei erfolglosem ping - wie?





Frage

Mein Softwarerooter hängt sich gelegentlich auf. es hilft dann nur noch ein reboot. Ich habe daher folgendes vor: per Taskplaner: alle 15 Minuten soll ein Ping auf eine Internet IP-Adresse abgesetzt werden, und die Rückmeldung in eine Datei geschrieben werden. Dann soll per Script JAVA oder VB das Log ausgewertet werden. War der ping erfolglos, so soll eine reboot.exe ausgeführt werden. Kann mir jemand bei dem Script helfen (bitte)? Danke und Gruß Thomas

Antwort 1 von Thomas N.

Gibt es irgendwo im Netz Beispiele?

Antwort 2 von Leon

Warum so komliziert ?
bastle Dir ein Batchfile mit Vernüpfung in die Autostart:
z.B: Datei pingtest.bat

wait 900
ping zielhost
If Errorlevel 1 goto reboot
c:\pingtest.bat
:reboot
c:\reboot.exe

Pingtest.bat, wait.exe (wird benötigt da DOS kein Wait unterstützt) und reboot.exe nach c kopieren und statt Zielhost den Rechner den Du anpingen willst eingeben. Derv Wert nach Wait ist Wartezeit in Sekunden.

m.f.g
Leon

PS: Wait.exe und pingtest.bat in deiner Mailbox...


Antwort 3 von Thomas N.

Daran hatte ich auch gedacht. Das Problem ist, das eine Zeitüberschreitung keinen Errorlevel 1 liefert. Dennoch danke für die Mühe...

Antwort 4 von Leon

Habs folgendermassen versucht:

wait auf 3 Sekunden gesetzt
ping localhost
Ergebnis: läuft sozusagen in Endlosschleife

wait auf 3 Sekunden gesetzt
ping irgendwaswasesnichtgibt
Ergebnis: springt in den GOTO Zweig und führt reboot.exe aus

Das ganze unter NT4.0

Oder missverstehe ich das Problem ?

mfg
Leon


Antwort 5 von Thomas N.

Ich nutze Windows 2000
Ping 10.111.212.2 (gibt es nicht)
=Zeitüberschreitung der anforderung = errorlevel 0

ping lksadhdalskdsasad
=unbekannter Host = errorlevel 1

ich denke das ist der Grund

Antwort 6 von Leon

Oh, alles klar! Das hab ich nicht probiert.....

mfg
Leon

Antwort 7 von Undertaker

Hi,

wie wäre es hiermit:

PING -n 1 -w 20 192.168.123.1 | FINDSTR "TTL=" >NUL
IF %ERRORLEVEL%==1 GOTO REBOOT
EXIT
:REBOOT
c:\reboot.exe


Und das Script dann alle 15 Minuten über den Taskmanager aufrufen.


Gruß
Undertaker

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: