Ich muss eine Windows-Aufgabe planen, um jede Minute ein Skript auszuführen. In den meisten Fällen muss das Skript nichts ausführen und ist sofort verfügbar. Wenn das Skript etwas ausführen muss, möchte ich, dass es den Job so schnell wie möglich startet, also das Intervall von einer Minute.
Jetzt ist die Benutzeroberfläche des Windows-Schedulers in den letzten Jahren ziemlich verwirrend geworden, sodass ich nicht sicher bin, wie eine Aufgabe unter Windows 2008 R2 jede Minute (oder 5 Minuten ..) am besten ausgeführt werden kann.
Ist dies die beste Methode, um eine Aufgabe jede Minute unter Windows zu planen? Ist es zuverlässig? Wird es direkt nach dem Neustart eines Computers gestartet oder wird es erst um 12:00 Uhr erneut gestartet? Bitte beachten Sie, dass ich hierfür keine benutzerdefinierte Dienstanwendung verwenden / schreiben kann, da diese sehr portabel sein muss.
quelle
Antworten:
Ja, dieser Dienst wird nach dem Neustart ausgeführt. Sie können ihn im Transaktionsprotokoll des Taskplaner-Diensts überprüfen:
Wenn es nicht richtig funktioniert (unter XP unsicher, was 2008 entspricht):
2008 Dokumentation hier , XP Dokumentation hier
Der Zeitplan der Aufgabe beginnt zum angegebenen Zeitpunkt und wird anschließend auf der Grundlage der Wiederholungsparameter ausgeführt. Die Startzeit kann als "Task-Installationszeit" betrachtet werden und ist nicht Teil der Wiederholungsparameter (außer als Timer-Offset). Hoffe das macht Sinn!
quelle
Ich hatte die gleiche Anforderung. In Server 2008 können Sie die Wiederholungsaufgabe tatsächlich folgendermaßen ändern : Dropdown. Standardmäßig ist der niedrigste Wert "5 Minuten" , aber Sie können dort einfach "1 Minute" eingeben. Sie können dies überprüfen , indem Sie auf der Suche Trigger Registerkarte und zu sehen , dass es sagt , „... jede 00:01:00 wiederholen ...“ . Sie können auch versuchen, "10 Sekunden" einzugeben, und Sie erhalten eine Fehlermeldung, in der Sie aufgefordert werden, einen Wert größer als 1 Minute zu wählen.
quelle
Ich kann eine Aufgabe so terminieren, dass sie einmal pro Minute mit der Befehlszeile "schtasks" wiederholt wird. Ein Beispiel für den Code ist:
schtasks / create / sc minute / mo 1 / tn "Aufgabenname" / tr c: \ temp \ filename.exe
Die Aufgabe wird in der Windows 2008 R2-Benutzeroberfläche angezeigt und einmal pro Minute ausgeführt. Die Aufgabe muss mit dem Befehlszeilenprogramm "schtasks" erstellt und geändert werden.
Leider hat Microsoft törichterweise den Windows 2008 R2-Taskplaner entwickelt und die flexible Konfiguration aus dem Windows 2003-Taskplaner zugunsten einiger begrenzter Intervalloptionen verworfen.
davephan
quelle
versuchen Sie das, arbeitete für mich ...
REM ==================================== ===============
REM # MAINBODY
REM ==================================== ==============
if "% 1" == "" echo Verwendung: - C: \ scripts \ port_schtask.cmd ^^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit
falls nicht vorhanden C: \ scripts \ port.bat echo Verwendung: - Datei existiert NICHT C: \ scripts \ port.bat &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit
% SystemRoot% \ system32 \ schtasks / delete / tn "port.bat% 1% 2" / f
% SystemRoot% \ system32 \ schtasks / create / tr "C: \ scripts \ port.bat% 1% 2" / SC MINUTE / MO 1 / tn "port.bat% 1% 2" / RU "SYSTEM"
% SystemRoot% \ system32 \ SCHTASKS / run / TN "port.bat% 1% 2"
% SystemRoot% \ system32 \ SCHTASKS |% SystemRoot% \ system32 \ find.exe "port.bat% 1% 2"
% SystemRoot% \ system32 \ schtasks / query / TN "port.bat% 1% 2"
% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul
rem ------------------------------------------------- -----
Prost RJB
quelle