Использование Как добавить задание cron в Windows Запланированные задачи и задания cron в Windows

Каждое запланированное задание планируется планировщиком заданий. Это приложение доступно, начиная с Windows NT 4.0, известное как Task Scheduler 1.0. В современных системах Windows (Windows Server 2016, 2019, Windows 10 и т. д.) Планировщик заданий доступен в версии 2.0.

Как добавить запланированное задание

Существует несколько способов добавления повторяющихся задач в Windows.

Использование планировщика заданий

Вы можете открыть планировщик заданий Windows одним из

  • нажав на Старт
    и печатание Task Scheduler

  • или попадание Win+R
    и печатание taskschd.msc

 runas /user:${ADMIN} taskschd.msc 

На правом экране нажмите Создать основную задачу
:

Create Basic Task

В открывшемся окне находится мастер. Вы можете указать, когда выполнять конкретное приложение.

1. На первом экране введите имя и описание вашего нового задания cron.
2. Выберите *Триггер* на втором экране. Триггер — это событие, которое запускает определенную задачу.
Task wizard trigger

  1. Вы можете выбрать между
    • Ежедневно
    • Еженедельно
    • Ежемесячно
    • Один раз
    • При запуске компьютера (до входа в систему)
    • Когда я вхожу в систему
    • При регистрации определенного события
  2. На Акции
    вкладку можно указать , которая
    команда должна быть выполнена. Укажите путь к .exe
    или .bat
    файл и нажмите Далее
    .
    Task wizard action

  3. На последнем экране вы видите всю информацию о задании. Нажмите на Готово
    для создания задачи.

Новое запланированное задание активируется автоматически. Он будет запущен при срабатывании следующего указанного триггера.

Использование инструмента командной строки schtasks.exe

 schtasks.exe /create /tn my-task /sc daily /st 13:00 /tr cmd.exe 

Это исполнит cmd.exe
каждый день в 13:00. Задача автоматически появляется в MMC Планировщика заданий:

Task added with schtasks.exe

Использование PowerShell

Вы также можете добавлять новые задания cron с помощью PowerShell. Это может быть удобно, если вам нужно программно добавлять задачи на многих компьютерах с Windows.

 $action = New-ScheduledTaskAction -Execute 'cmd.exe'
$trigger = New-ScheduledTaskTrigger -Daily -At 1pm
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "my-task" 

Task added with PowerShell

Часто задаваемые вопросы

Где хранятся запланированные задачи Windows?

Это может пригодиться, если вы отлаживаете запланированные задачи или задания. В некоторых случаях ваша задача не выполняется из-за некоторых проблем с цитированием или экранированием.

Работает ли cron в Windows?

Если вы знакомы с Linux, вы также можете использовать cron Linux
службы внутри подсистемы Windows для Linux. Одна проблема на данный момент заключается в том, что cron
работает только во время существования сеанса WSL. Как только сеанс WSL закрывается, cron
также будет закрыт.

Вы должны использовать один из способов, описанных выше, чтобы добавить задание cron в Windows.

Являются запланированными работами
и запланированных задач
в PowerShell одинаковые?

Если вы создаете новые запланированные задачи с помощью PowerShell, вам это может показаться интересным. В PowerShell существует запланированных задач
а также запланированных работ
. New-ScheduledTask
командлеты — это просто внешний интерфейс для schtasks.exe
и MMC запланированных задач.

Запланированные задания
есть один большой недостаток: вы не
возможность захвата вывода выполненной команды. С запланированными заданиями
вы можете захватить вывод. Пожалуйста, прочтите эту статью
если вам нужно больше деталей.

Если вы хотите использовать Синхронизация с WordPress/AD
функция, необходимая для настройки задания cron.
В операционных системах Windows вы должны использовать планировщик заданий Windows .
чтобы выполнить это.

Это руководство относится к следующей интеграции с Active Directory
. Прочтите эту статью о том, как добавлять задания cron и запланированные задачи в Windows
.

Добавить запланированное задание

  • На правой панели нажмите Создать базовую задачу

    Windows Task Scheduler

  • Введите имя, например «Синхронизировать с WordPress*», и нажмите Далее

  • На следующей странице определите запланированные даты выполнения задачи. Каждую ночь должно быть достаточно часто.

  • На Акции
    выбор страницы Запустить программу

Использование PowerShell

  • PowerShell доступен в Windows 7 и более поздних версиях, а также в Windows Server 2008 R2 и более поздних версиях

  • Программа/сценарий
    поле ввода должно содержать powershell

  •   -Command "Invoke-WebRequest -Uri ${SERVERURL}/wp-admin/admin.php -Method POST -Body @{'next_ad_int-task'='sync-to-wordpress';'auth-code'='${TOKEN}'}" 

Create basic PowerShell task in Windows Task Scheduler

  • Нажмите Далее
    и Готово

:/>  Windows/Удалённое управление —

Добавленная задача автоматически запустится в следующую запланированную дату.

Использование wget

Если вы используете Kerberos в качестве метода единого входа, используйте решение PowerShell, описанное выше.

  • Загрузить wget
    установочный пакет из http://gnuwin32.sourceforge.net/packages/wget.htm
    или используйте эту ссылку ссылку на sourceforge
    . Обратите внимание, что ZIP-файл не содержит необходимых библиотек.

  • Пусть программа установки установит wget, например, в c:/wget

  • Программа/сценарий
    поле ввода должно указывать на ранее установленный wget.exe
    ( c:/wget/bin/wget.exe
    )

    • Поле ввода Добавить аргументы (необязательно)
      должен быть заполнен wget
      параметры, представленные в NADI на Sync to WordPress
      соответствующий Синхронизация с AD
      страница, как --post-data "next_ad_int-task=sync-to-ad&auth-code=MFuyIpDJEEOUhw8cLsB0" http://localhost/wp-admin/admin.php

    Create basic wget task in Windows Task Scheduler

  • Нажмите Далее
    и Готово

Добавленная задача автоматически запустится в следующую запланированную дату.

The synchronization task is running

Elephant holding a clock
Слон держит часы

Фото создано DALL-E

В Laragon 6 добавлена ​​возможность запуска заданий cron. Вот пример того, как запустить их в Windows с помощью Cronical.

Документация

Официальная документация Cronical находится в
README на GitHub mgefvert/Cronical
.

Также есть больше документации и примеров в cronical.dat

файл ( Меню Ларагона > Инструменты > cron > cronical.dat
).

Инсталляция

С Ларагоном

Вам не нужно

установить Ларагон
использовать хронический
. Я бы
рекомендовать Ларагон
для разработки WAMP/WEMP. Я использую его в течение многих лет, я нашел его лучшим развитием
среда. Cronical входит в состав Ларагона 6.

Ручная установка

Пример

Открытый conical.dat
( Меню > Инструменты > cron > cronical.dat
)

Копировать пример для каждую минуту
и каждые 5 минут
в конец файла и удалить комментарий #

 # --- Jobs -------------------------------------------------------- 

При появлении запроса Разрешить повышенные привилегии
.

В Терминал
перейти к хроническому
в ларагоне. Например. по умолчанию:

  

Самый простой способ увидеть хроническую работу — запустить его в режиме отладки:

 .ronical.exe --console --debug 

 20:02:31.213 *** Cronical booting up20:02:31.224 *** Process startup20:02:31.224 Using definition file cronical.dat20:02:31.238 Config: Run missed jobs on startup = True20:02:31.238 Config: Check services every = 15 seconds20:02:31.239 Config: Terminate cron jobs after = 3600 seconds20:02:31.239 2 jobs in job list20:02:31.240 - Starting boot jobs 

Чтобы остановить Хронический процесс: удерживайте ctrl
и нажмите c
. Это стандарт для остановки большинства бегущих
процессы.

 20:09:24.316 *** Shutting down 

Объяснение

  • Каждую минуту
    задание выполняется при запуске и каждую минуту.

    • 20:02:32
      .249 [5] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:03:00
      .495 [9] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:04:01
      .069 [10] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:05:00
      .639 [11] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:06:01
      .243 [10] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:07:00
      .775 [9] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:08:01
      .370 [6] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
    • 20:09:00
      .914 [5] Запуск задания: cmd /c echo Каждую минуту » my_log.txt
  • Каждые пять минут
    задание выполнялось при запуске и на 5-минутной отметке. Он должен был начаться через 10 минут после окончания
    час.

    • 20:02:32
      .249 [6] Запуск задания: cmd /c echo Каждые пять минут » my_log.txt
    • 20:05:00
      .640 [12] Запуск задания: cmd /c echo Каждые пять минут » my_log.txt
    • 20:05:00
      .639 – [4] Начало следующей работы 01.12.2023 20:10:00
      для cmd /c echo Каждые пять минут »
      my_log.txt

Результат

Файл журнала можно открыть с помощью блокнота:

Блокнот запустится и откроется my_log.txt
. Результат работы можно увидеть:

 Every five minutes Every five minutes  

Заключение

Настройка Cronical для запуска любого задания Windows, будь то пакетный файл, исполняемый файл или php-скрипт (php.exe -f file.php), довольно
простой.

  1. Изменить cronical.dat
    для выполнения необходимых заданий с требуемой периодичностью.
  2. README
    содержит больше информации о том, как запустить Cronical, установить и запустить вручную или как службу.
:/>  Power shell командная строка при запуске пк включается и исчезает



В документации указано: Запустите Cronical с приподнятого уровня.
консоль:

Добро пожаловать в Infinitbility!

Сегодня мы будем учиться

  1. как настроить crontab на windows, mac, ubuntu.
  2. cronjob типы ( команда и URL )
  3. примеры выражений расписания cron.

Что такое cron?

Cron — это демон планирования заданий на основе времени, присутствующий в Unix-подобных операционных системах, включая дистрибутивы Linux. Cron работает в фоновом режиме, и задачи, запланированные с помощью cron, называемые «заданиями cron», выполняются автоматически, что делает cron полезным для автоматизации задач, связанных с обслуживанием.


Установить Crontab на окна

Каждое запланированное задание планируется Планировщиком заданий. Это приложение доступно, начиная с Windows NT 4.0, известное как Task Scheduler 1.0. В современных системах Windows (Windows Server 2016, 2019, Windows 10 и т. д.) Планировщик заданий доступен в версии 2.0.

Использование планировщика заданий Windows

Вы можете открыть планировщик заданий Windows одним из

  • нажав кнопку «Пуск» и набрав «Планировщик заданий»
  • или нажав Win+R и набрав taskschd.msc
     

Task scheduler on windows

На правом экране нажмите «Создать базовую задачу»

Basic task

В открывшемся окне находится волшебник. Вы можете указать, когда конкретное приложение должно быть выполнено.

  1. На первом экране введите имя и описание вашего нового задания cron

  2. Вы можете выбрать триггер на втором экране. Триггер означает, что конкретная задача должна быть выполнена.

    trigger task

    Вы можете выбирать между - Ежедневно - Еженедельно - Ежемесячно - Один раз - При запуске компьютера (до входа в систему) - Когда я вхожу в систему - При регистрации определенного события

  3. На вкладке Действие вы можете указать, какая команда должна быть выполнена. Укажите путь к файлу .exe или .bat и нажмите «Далее»

    .

    task action

  4. На последнем экране вы видите всю информацию о задании. Нажмите «Готово», чтобы добавить его.

    Новое запланированное задание активируется автоматически. Он будет запущен при срабатывании следующего указанного триггера.

Использование инструмента командной строки schtasks.exe

Пожалуйста, ознакомьтесь с официальной документацией Microsoft для всех доступных вариантов.

 schtasks.exe /create /tn my-task /sc daily /st 13:00 /tr cmd.exe 

Это будет запускать cmd.exe каждый день в 13:00. Задача автоматически появляется в MMC Планировщика заданий:

task schtasks

*** Задача добавлена ​​с помощью schtasks.exe ***

Где хранятся запланированные задачи Windows?

Это может пригодиться, если вы отлаживаете запланированные задачи или задания. В некоторых случаях ваша задача не выполняется из-за некоторых проблем с цитированием или экранированием.


Установите Crontab на mac os

запустить терминал и бежать crontab -e
. Это должно открыть для вас файл в vim. По сути, в этом файле вы можете перечислить свои задания cron — каждое задание в отдельной строке.

Мы будем использовать встроенную в Mac OS функцию crontab для написания наших заданий cron.

Тип crontab -e
и нажмите Enter.

Это должно открыть пустой файл, в который вы будете записывать задания cron. В этом случае вы можете написать задание для запуска сценария оболочки или сценария Python.

Тип :q!
для выхода из редактора.

Прежде чем мы напишем задание cron, у нас должен быть сценарий, который мы хотим запустить. Я уже создал каталог /Documents/Python/cron
в моем домашнем каталоге и создал простой скрипт под названием cron_test.py
.

Примечание. Этот скрипт Python должен быть исполняемым, поэтому измените разрешения на него, чтобы разрешить это, я только что запустил chmod 777 cron_test.py
.

cron_test.py
script просто создает каталог с текущей датой и временем в качестве имени.

cron_test.py

   # convert system date to string # parse the date only from the string# parse the hour only from the string# parse the minutes only from the string# concatenate hour and minute with underscore # val for the folder name # make a directory 

Вам может быть интересно, что это за первая строчка, #!/usr/bin/python3
, является. Эта строка называется шебангом, и как задание cron будет интерпретировать сценарий, поэтому в этом случае оно запустит cron_test.py
с Python (как если бы вы выполнили Python cron_test.py
в вашем терминале).

 */1 * * * * ~/Documents/Python/cron /usr/local/bin/python3 cron_test.py >> ~/Documents/Python/cron/cron.txt 2> 

Что означает вышеизложенное? Давайте быстро проанализируем это.

*/1 * * * *
просто означает, что задание будет выполняться каждую минуту.

cd ~/Documents/Python/cron && /usr/local/bin/python3
переходит в каталог, где находится скрипт, который вы хотите выполнить, и указывает, что для выполнения следует использовать Python вместо Bash (поскольку это скрипт Python, также помните, что мы добавили shebang в скрипт, я обнаружил, что он должен быть в оба места работы).

cron_test.py
это имя файла скрипта.

>> ~/Documents/Python/cron/cron.txt
указывает, куда выводить журналы в случае возникновения проблем с выполнением задания.

2>&1
просто отключает электронную почту, потому что по умолчанию задание cron попытается отправить электронное письмо, но у нас нет указанного адреса.

В любом случае, этого должно быть достаточно, чтобы вы начали писать и тестировать свои сценарии, так что продолжайте!


Установить Crontab на Ubuntu

Почти в каждом дистрибутиве Linux по умолчанию установлена ​​та или иная форма cron. Однако, если вы используете машину с Ubuntu, на которой не установлен cron, вы можете установить его с помощью APT.

Установка Крона

Перед установкой cron на машину с Ubuntu обновите локальный индекс пакетов компьютера:

Вам также нужно убедиться, что он работает в фоновом режиме:

 sudo systemctl cron 
   /lib/systemd/systemd-sysv-install enable cron 

Управление Crontabs

После того, как вы определились с расписанием и знаете, какое задание вы хотите запустить, вам нужно поместить его туда, где ваш демон сможет его прочитать.

Вывод выбрать vim 2

                         

установить пример cron на ubuntu

        # Отредактируйте этот файл, чтобы ввести задачи, запускаемые cron.       # Каждая выполняемая задача должна быть определена в одной строке       # указывая разными полями, когда будет запущена задача       # и какую команду запустить для задачи       # Чтобы определить время, вы можете указать конкретные значения для       # минута (m), час (h), день месяца (dom), месяц (mon),       # и день недели (Dow) или используйте '*' в этих полях (для 'любого').#       # Обратите внимание, что задачи будут запущены на основе системы cron       # представление демона о времени и часовых поясах.       # Вывод заданий crontab (включая ошибки) отправляется через       # в 5 утра каждую неделю с:       # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/       # m h dom mon dow команда      

Специальный синтаксис

Есть также несколько сокращенных команд, которые вы можете использовать в файле crontab, чтобы упростить планирование заданий. По сути, это сокращения для указанного эквивалентного числового расписания:


Примеры выражения расписания Crontab

Здесь добавлено много примеров выражений, как настроить cron.

Примеры минут

Каждую минуту

Каждую 2-ю минуту или даже минуты

Каждую 2-ю минуту с 1 по 59 или нечетные минуты

Каждую 5-ю минуту

часов Примеры

каждый час

каждые 2 часа

день Примеры

каждый день или ежедневно

каждый день в 8 утра

каждый конкретный день

каждый будний день

еженедельно Примеры

раз в неделю или только по воскресеньям

ежемесячно Примеры

каждый год