Batch Server nach Bedingung runterfahren

BomberHarry

Enthusiast
Thread Starter
Mitglied seit
04.01.2011
Beiträge
301
Hallo Leute,
ich habe einen Fileserver, den ich in Zukunft mittels WOL hochfahre, nachdem mein Desktop-PC die Batch mittels Autostart beim Anmelden ausführt. Das klappt schonmal soweit.
Dann soll auf dem Fileserver, am besten per Aufgabenplanung geprüft werden, ob mein Desktop-PC nach 30 Minuten noch erreichbar ist. Ist es dieser nach nicht, so soll der Server mittels shutdown heruntergefahren werden. Nur weiß ich nicht, wie ich das in der Batch bewerkstellige bzw der Ansatz. Die Zeitspanne soll mit rein, weil ich den Filer nicht ständig hoch und runterfahren möchte, falls ich mal kurz was am Desktop rumbastel.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Äquivalent zum Autostart gibt es auch eine Möglichkeit beim Runterfahren ein Script auszuführen und so dem Fileserver ebenfalls runterzufahren.

Problem dabei ist nur, dass das auch bei einem Neustart der Fall wäre. Daher wäre es Sinnvoll eine Verzögerung einzubauen. Das heißt beim Runterfahren ein Shutdownbefehl mit 5 Minuten Wartezeit und beim Hochfahren zusätzlich zum WOL ein Shutdown Abbruch Befehl.
 
Naja, man könnte sich ein Desktop-Icon basteln das den eigenen Client runter fährt und z. B. via Powershell (invoke-command) den Server runter fahren lässt. Bei einem normalen Neustart nutzt man halt die normale Windows Funktion.
 
Hallo Leute,
ich habe einen Fileserver, den ich in Zukunft mittels WOL hochfahre, nachdem mein Desktop-PC die Batch mittels Autostart beim Anmelden ausführt. Das klappt schonmal soweit.
Dann soll auf dem Fileserver, am besten per Aufgabenplanung geprüft werden, ob mein Desktop-PC nach 30 Minuten noch erreichbar ist. Ist es dieser nach nicht, so soll der Server mittels shutdown heruntergefahren werden. Nur weiß ich nicht, wie ich das in der Batch bewerkstellige bzw der Ansatz. Die Zeitspanne soll mit rein, weil ich den Filer nicht ständig hoch und runterfahren möchte, falls ich mal kurz was am Desktop rumbastel.

Ich sag' mal so, das einfachste wäre natürlich es einfach "alle dreißig Minuten" zu prüfen. Direkt nach dem Starten (sofern das vom Client angetriggert wird) sollte er ja zu erreichen sein. Frage wäre - was für ein Betriebsystem läuft auf dem Server? Wenn dort eine Powershell läuft wäre das angenehmer, als eine Batch basteln zu müssen. Das geht zwar auch aber die Prüfung ob der Ping erfolgreich war ist etwas hässlich.
 
Über Batch prüfen ob IP online ist - administrator.de

Batch zum prüfen ob IP pingbar ist


Wenn nicht, dann einfach

shutdown.exe -s -t 00

ran. Und schon geht der Rechner aus.


Is so mein Ergebnis nach etwa 60 Sekunden Google. (Falls es Dich interessiert, "batch prüfen ob rechner online" waren die Stichwörter die Ergebnisse brachten, ob man es glaubt oder nicht^^. Gleich im ersten Versuch ein Volltreffer)
Nicht selbst ausprobiert. (Bis auf den Shutdown, den findet man wenn man bei Win8 einen Button für das Herunterfahren auf dem Desktop haben möchte.

In eine Batch-Datei schieben.
Per Aufgabenplanung alle 5 Minuten ausführen lassen
Die Aufgabenplanung 30 Minuten beim Systemstart verzögern (nicht das der Fileserver sofort wieder abschaltet, wenn noch keine Netzwerkverbindung besteht).
Findet man unter Trigger


- - - Updated - - -

Selbsttest:

Code:
@echo off
set host=8.8.8.8
ping -n 1 -w 5 %host% | find /i "Antwort" && (@echo %host% ist online) || (shutdown.exe -s -t 00)
exit

Funktioniert auf Win7 Einwandfrei. Die IP ist nicht in meinem Netzwerk vorhanden und fährt den Rechner sofort herunter. Setze ich eine IP ein, die Pingbar ist wird der Text ausgegeben.
Ganz ehrlich .... das hätte man finden können.
 
Zuletzt bearbeitet:
HisN du bist mal wieder mein Held :)
Ja jetzt im Nachhinein eigentlich ganz easy, aber ich bin einfach zu kompliziert von meiner Herangehensweise rangegangen o_O
 
Melde mich dazu nochmal^^

Die Batch ist weiterhin und erfolgreich in Verwendung :)

Jetzt würde ich noch gerne eine Bedingung einbauen, dass wenn der Desktop runtergefahren ist, dass er noch die Uhrzeit prüft. Das heißt, WENN bei %time% die Stunde 04, 05 oder 06 ist, dass er dann mit exit aussteigt. Leider weiß ich nicht, wie ich das in eine Variable packe und kürze.

Um diese Uhrzeit habe ich eine Paritätsberechnung meiner Festplatten, und falls es mal eine Änderung der Daten gab, soll während der Berechnung nicht der filer runtergefahren werden. Brauche keine defekte Parität :)
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh