Українська
Appearance
Українська
Appearance
Планувальник завдань (Task Scheduler) використовується для автоматизації періодичних завдань у WSL, позбавляючи від повторюваних ручних операцій з обслуговування. Він надає візуальний інтерфейс керування, що дозволяє створювати та керувати запланованими завданнями без запам'ятовування складних параметрів командного рядка.
Приклади використання цієї функції:
Усі завдання об'єднуються в шляху \WSLDashboard\UserTasks\ планувальника завдань Windows для зручного централізованого перегляду та керування. В інтерфейсі можна в реальному часі переглядати стан завдань (готово / виконується / вимкнено).
Ви можете завантажити приклади скриптів (резервне копіювання дистрибутива) із репозиторію спільноти нижче та швидко почати:
https://github.com/owu/wsl-community
Це репозиторій, створений користувачами спільно; запрошуємо надсилати Pull Request, щоб зробити внесок у вигляді скриптів або поділитися кращими практиками.
Для кожного запланованого завдання можна налаштувати команду, що виконується (скрипт або виконувану програму), з такими параметрами:
| Параметр | Опис |
|---|---|
| Команда, що виконується | Шлях до скрипта або виконуваної програми; підтримуються формати .bat, .ps1, .cmd, .exe, .py та ін. Файл можна вибрати кнопкою «Огляд». |
| Параметри команди | Додаткові параметри, що передаються команді; необов'язково. |
| Права адміністратора | При встановленні прапорця завдання виконуватиметься з максимальними правами — підходить для операцій, що вимагають підвищення прав через UAC. |
Після створення завдання ви можете виконувати з ним такі операції:
| Операція | Опис |
|---|---|
| Виконати зараз | Примусовий запуск завдання негайно, незалежно від правил розкладу. |
| Увімкнути/вимкнути | Призупинення або відновлення автоматичного розкладу завдання. |
| Видалити | Видалення завдання з планувальника завдань. |
Планування завдань використовує стандартний Cron-вираз із 5 полів для визначення правил виконання, формат наступний:
Хвилини Години Дні Місяці Дні тижня| Поле | Діапазон значень | Опис |
|---|---|---|
| Хвилини | 0–59 | На якій хвилині години виконувати |
| Години | 0–23 | О котрій годині дня виконувати |
| Дні | 1–31 | На який день місяця виконувати |
| Місяці | 1–12 | У якому місяці року виконувати |
| Дні тижня | 0–7 | 0 і 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 хвилин | Періодичні завдання перевірки |
| 3 | M * * * * | Виконання на M-й хвилині кожної години (наприклад, 3 * * * *) | Погодинні завдання |
| 4 | M H * * * | Виконання щодня о H:M (наприклад, 0 3 * * *) | Щоденне обслуговування, наприклад очищення журналів рано вранці |
| 5 | M H * * DOW | Виконання в певний день тижня о H:M (наприклад, 0 12 * * 1) | Щотижневі завдання, наприклад резервне копіювання даних щопонеділка |
| 6 | M H D * * | Виконання в певний день місяця о H:M | Щомісячні завдання, наприклад формування звіту 1-го числа |
| 7 | M H D MON * | Виконання в певний місяць і день о H:M | Щорічні завдання, наприклад виконання у вказаний місяць |
Якщо вираз не належить жодному з 7 шаблонів, система відхилить його створення з позначкою
Unsupported cron pattern.
Оскільки реалізація заснована на планувальнику завдань Windows, аналізатор Cron цього ПЗ має такі відмінності від стандартного Linux Cron:
,) і діапазони (-) Стандартний Cron дозволяє через кому задавати кілька дискретних моментів часу (наприклад, 1,15,30 * * * * — 1-ша, 15-та та 30-та хвилини) або через дефіс задавати діапазон (наприклад, 1-5 * * * * — з 1-ї по 5-ту хвилини).
Обмеження цього ПЗ: у кожному полі можна вказувати лише одиничне число, зірочку (*) або крок (*/N); коми та дефіси не підтримуються.
Стандартний Cron допускає довільні комбінації полів (наприклад, * 3 * * * — кожна хвилина протягом години о 3-й ночі), але це ПЗ підтримує лише 7 фіксованих шаблонів, перелічених вище; вирази поза цим діапазоном будуть відхилені.
У стандартному Cron */5 * * * * строго вирівнюється за 0, 5, 10, 15... хвилинами годин. Це ПЗ перетворює його на параметр Windows /SC MINUTE /MO 5, а логіка Windows обчислює інтервал з моменту створення або ввімкнення завдання.
Наприклад, якщо ви зберегли та ввімкнули завдання, що виконується кожні 5 хвилин, о 10:02, воно вперше виконається о 10:07, потім о 10:12, а не о 10:05, як при стандартному вирівнюванні за годинами.