Расписание задач Windows каждую минуту

13

Мне нужно запланировать задачу Windows для запуска скрипта каждую минуту. В большинстве случаев скрипт не должен ничего выполнять и существует немедленно. Когда сценарий должен что-то выполнить, я хочу, чтобы он начал работу как можно быстрее, таким образом, с интервалом в одну минуту.

В настоящее время интерфейс планировщика Windows стал довольно запутанным в последние годы, поэтому я не уверен, как лучше всего запускать задачу каждую минуту (или 5 минут ...) в Windows 2008 R2.

Это лучший способ планировать задачу под Windows каждую минуту? Это надежно? Запускается ли он сразу после перезагрузки машины или запускается снова только в 12 часов? Обратите внимание, что я не могу использовать / написать специальное приложение для службы, так как мне нужно, чтобы оно было очень переносимым.

Деннис Г.
источник
Нет, это не лучший способ. Вы должны использовать функцию сна или ожидания в вашем скрипте.
Джозеф Керн

Ответы:

4

Да, эта служба будет работать после перезагрузки, вы можете проверить это в журнале транзакций службы планировщика задач:

    Systemroot \ Schedlgu.txt

    (где Systemroot - это папка установки Windows)

Если это не работает правильно (под XP, не уверен насчет эквивалента 2008 года):

    
    Панель управления -> Администрирование -> Службы -> Планировщик задач 

    Установите на авто. 

Документация 2008 здесь , Документация XP здесь

Расписание задачи начинается в указанное время, после чего оно выполняется на основе параметров повторения. Время начала можно рассматривать как время «установки задачи», оно не является частью параметров повторения (за исключением смещения таймера). Надеюсь, что это имеет смысл!

Энди
источник
Я действительно имел в виду, если машина перезагружается, задача запускается снова сразу после перезагрузки или только снова запускается в 12 часов, как указано в графическом интерфейсе? Мне нужно, чтобы задача выполнялась каждую минуту, независимо от перезагрузки машины и т. Д.
Деннис Г.
И как я могу очень, если задача была выполнена? Это зарегистрировано где-нибудь в Журнале событий? Я не могу найти какие-либо записи журнала. Благодарю.
Деннис Г.
Обновленный ответ для уточнения
Энди
18

У меня было такое же требование. В Server 2008 вы можете изменить задачу «Повторять» каждый раз: выпадающий список . По умолчанию самое низкое значение - «5 минут» , но вы можете просто ввести «1 минуту» . Вы можете убедиться в этом, посмотрев на вкладку « Триггеры » и увидев, что на ней написано «... повторять каждые 00:01:00 ...» . Вы также можете попробовать ввести «10 секунд», и вы получите сообщение об ошибке, в котором вам будет предложено выбрать что-то более 1 минуты.

coryvb123
источник
3
Это была часть вопроса, который меня интересовал. Я могу подтвердить, что это все еще работает в 2012 R2.
Меликот
8

Я могу запланировать повторение задания один раз в минуту с помощью командной строки «schtasks». Пример кода:

schtasks / create / sc minute / mo 1 / tn «Имя задачи» / tr c: \ temp \ filename.exe

Задача отображается в графическом интерфейсе Windows 2008 R2 и выполняется один раз в минуту. Задача должна быть создана и изменена с помощью утилиты командной строки "schtasks".

К сожалению, Microsoft по глупости спроектировала планировщик задач Windows 2008 R2, отбросив гибкую конфигурацию, найденную в планировщике задач Windows 2003, в пользу нескольких ограниченных вариантов интервалов.

davephan

davephan
источник
Это работает на Win7. Thanx.
Владимир Вуканац
-1

попробуй это, у меня получилось ...

REM ======================================================= ===============

REM # MAINBODY

REM ======================================================= ==============

if "% 1" == "" echo Использование: - C: \ scripts \ port_schtask.cmd ^ ^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && выход

если не существует C: \ scripts \ port.bat echo Использование: - Файл НЕ существует 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 ------------------------------------------------- -----

ура RJB

RJB
источник
Почему вы выполняете не относящиеся к делу действия, такие как пинг локальный хост?
Tu-Reinstate Monica-dor duh