Skip to content

Планировщик задач ​

Планировщик задач (Task Scheduler) используется для автоматизации периодических задач в WSL, избавляя от повторяющихся ручных операций по обслуживанию. Он предоставляет визуальный интерфейс управления, позволяющий создавать и управлять запланированными задачами без запоминания сложных параметров командной строки.

Примеры использования этой функции:

  • Регулярное резервное копирование дистрибутивов WSL
  • Выполнение пользовательских скриптов или команд

Все задачи объединяются в пути \WSLDashboard\UserTasks\ планировщика задач Windows для удобного централизованного просмотра и управления. В интерфейсе можно в реальном времени просматривать состояние задач (готово / выполняется / отключено).

Репозиторий скриптов сообщества ​

Вы можете скачать примеры скриптов (резервное копирование дистрибутива) из репозитория сообщества ниже и быстро начать:

https://github.com/owu/wsl-community

Это репозиторий, созданный пользователями совместно; приглашаем отправлять Pull Request, чтобы внести свой вклад в виде скриптов или поделиться лучшими практиками.

Выполнение команд ​

Настройка команды ​

Для каждой запланированной задачи можно настроить выполняемую команду (скрипт или исполняемую программу) со следующими параметрами:

ПараметрОписание
Выполняемая командаПуть к скрипту или исполняемой программе; поддерживаются форматы .bat, .ps1, .cmd, .exe, .py и др. Файл можно выбрать кнопкой «Обзор».
Параметры командыДополнительные параметры, передаваемые команде; необязательно.
Права администратораПри установке флажка задача будет выполняться с максимальными правами — подходит для операций, требующих повышения прав через UAC.

Операции с задачами ​

После создания задачи вы можете выполнять с ней следующие операции:

ОперацияОписание
Выполнить сейчасПринудительный запуск задачи немедленно, независимо от правил расписания.
Включить/отключитьПриостановка или возобновление автоматического расписания задачи.
УдалитьУдаление задачи из планировщика задач.

Правила расписания ​

Cron-выражение ​

Планирование задач использует стандартное Cron-выражение из 5 полей для определения правил выполнения, формат следующий:

Минуты Часы Дни Месяцы Дни недели
ПолеДиапазон значенийОписание
Минуты0–59На какой минуте часа выполнять
Часы0–23В какой час дня выполнять
Дни1–31На какой день месяца выполнять
Месяцы1–12В каком месяце года выполнять
Дни недели0–70 и 7 оба означают воскресенье

Каждое поле поддерживает следующий синтаксис:

  • * — соответствует всем значениям (например, * * * * * означает выполнение каждую минуту)
  • */N — выполнение каждые N единиц (например, */5 * * * * — каждые 5 минут)
  • Одиночное число — соответствует конкретному значению (например, 0 9 * * 1 — выполнение в 9:00 каждый понедельник)

Примечание: не поддерживаются значения через запятую (например, 1,15) и выражения диапазонов (например, 1-5); о дополнительных ограничениях см. раздел Примечания ниже.

Поддерживаемые комбинированные шаблоны ​

Данное ПО не запускает собственный Cron-демон, а преобразует Cron-выражение в параметры триггера Windows Scheduled Tasks (schtasks.exe). Для точного сопоставления анализатор жёстко поддерживает только следующие 7 комбинированных шаблонов, покрывающих большинство сценариев периодических задач:

№ШаблонОписаниеТипичный сценарий
1* * * * *Выполнение каждую минутуЗадачи мониторинга, задачи обнаружения в реальном времени
2*/N * * * *Выполнение каждые N минутПериодические задачи проверки
3M * * * *Выполнение на M-й минуте каждого часа (например, 3 * * * *)Почасовые задачи
4M H * * *Выполнение ежедневно в H:M (например, 0 3 * * *)Ежедневное обслуживание, например очистка журналов ранним утром
5M H * * DOWВыполнение в определённый день недели в H:M (например, 0 12 * * 1)Еженедельные задачи, например резервное копирование данных каждый понедельник
6M H D * *Выполнение в определённый день месяца в H:MЕжемесячные задачи, например формирование отчёта 1-го числа
7M H D MON *Выполнение в определённый месяц и день в H:MЕжегодные задачи, например выполнение в указанный месяц

Если выражение не относится ни к одному из 7 шаблонов, система отклонит его создание с пометкой Unsupported cron pattern.

Примечания ​

Поскольку реализация основана на планировщике задач Windows, анализатор Cron этого ПО имеет следующие отличия от стандартного Linux Cron:

1. Не поддерживаются списки (,) и диапазоны (-) ​

Стандартный Cron позволяет через запятую задавать несколько дискретных моментов времени (например, 1,15,30 * * * * — 1-я, 15-я и 30-я минуты) или через дефис задавать диапазон (например, 1-5 * * * * — с 1-й по 5-ю минуты).

Ограничение этого ПО: в каждом поле можно указывать только одиночное число, звёздочку (*) или шаг (*/N); запятые и дефисы не поддерживаются.

2. Свободные комбинации не поддерживаются ​

Стандартный Cron допускает произвольные комбинации полей (например, * 3 * * * — каждая минута в течение часа 3 ночи), но это ПО поддерживает только 7 фиксированных шаблонов, перечисленных выше; выражения вне этого диапазона будут отклонены.

3. Разница выравнивания по времени для шаговых шаблонов ​

В стандартном Cron */5 * * * * строго выравнивается по 0, 5, 10, 15... минутам часов. Это ПО преобразует его в параметр Windows /SC MINUTE /MO 5, а логика Windows вычисляет интервал с момента создания или включения задачи.

Например, если вы сохранили и включили задачу, выполняющуюся каждые 5 минут, в 10:02, она впервые выполнится в 10:07, затем в 10:12, а не в 10:05, как при стандартном выравнивании по часам.