Zaplanuj ponowne uruchomienie o określonej godzinie

Odpowiedzi:

15

Wykonaj zaplanowane zadanie, które zostanie uruchomione:

shutdown -r -t 01
Mark S. Rasmussen
źródło
Czy zaplanowane zadanie może się samo usunąć po zakończeniu zadania?
Toro,
Nie można go usunąć, ale można skonfigurować jednorazowy wyzwalacz, aby działał tylko raz.
Mark S. Rasmussen
2
Jeśli zadanie ma zostać uruchomione raz, na karcie Ustawienia w oknie właściwości zaplanowanego zadania znajduje się pole wyboru „usuń to zadanie, jeśli nie zaplanowano jego ponownego uruchomienia”. Program planujący usunie zadanie po jego uruchomieniu, jeśli nie zostanie ponownie zaplanowane. Nie jestem pewien, jak to będzie działać w przypadku ponownego uruchomienia serwera, choć teoretycznie jest to możliwe.
Justin Scott
Lub, jeśli jest to romans jednorazowy, użyj / t xxx, aby ustawić zamknięcie na pożądany przyszły czas. Wartość opóźnienia może wynosić do 10 lat. (Ale ponieważ jest wyrażone w sekundach, bardzo długie opóźnienie wymaga odrobiny rachunku różniczkowego.)
Jesper M
18

Najprostszym sposobem zaplanowania prostego ponownego uruchomienia jest użycie polecenia AT wraz z poleceniem zamknięcia z wiersza poleceń.

Na przykład, jeśli chcesz, aby serwer zrestartował się dziś wieczorem o 2 nad ranem, może to być tak proste:

o 2:00 zamknięcie / r / k

Polecenie „AT” automatycznie tworzy zaplanowane zadanie dla określonego polecenia. Ma mnóstwo parametrów, które możesz określić, aby je powtórzyć, ale domyślnie po prostu uruchomi dowolne polecenie, które określisz w następnym wystąpieniu o dowolnej godzinie.

Jeśli musisz coś zmienić po wydaniu, możesz po prostu przejść do Narzędzia administracyjne> Zaplanowane zadania i zmodyfikować zadanie.

Matias Nino
źródło
1
Najwyraźniej zostało to przestarzałe w Server 2012
Matias Nino
3

Wiem, że to nie rozwiązuje całego problemu, ale w przypadku wersji systemu Windows Server od 2008 r. I w przypadkach, gdy serwer wymaga ponownego uruchomienia tylko raz, nie musisz zawracać sobie głowy zaplanowanymi zadaniami. Wbudowane shutdownpolecenie pozwala określić opóźnienie w sekundach za pomocą -tparametru.

Na przykład, aby ponownie uruchomić za 12 godzin (lub 43200 sekund):

shutdown -r -t 43200

Oczywiście, aby uzyskać określony czas, potrzebujesz prostych obliczeń matematycznych, ale jest to o wiele łatwiejsze niż rozwiązywanie zaplanowanych zadań.

Molomby
źródło
1
Czy jest możliwe (bez rejestrowania skryptu lub podobnego) uzyskanie stanu takiego polecenia po jego wydaniu? Na przykład, że czas pozostały do ​​ponownego uruchomienia wynosi 3 godziny?
ErikE
1
@ErikE, jedynym sposobem, jaki znam, jest wydanie shutdown -apolecenia, które przerywa bieżące zamknięcie. Jeśli nie zaplanowano wyłączenia, pojawi się błąd. Nie sądzę, to powie Ci, kiedy to było zaplanowane, choć i jeśli faktycznie chcą zamknięcie musisz odtworzyć go ... więc nie jest idealny.
Molomby,