Skip to content

Představení funkce Task Scheduler

Task Scheduler (Plánovač úloh) slouží k automatizaci opakujících se úloh ve WSL, čímž eliminuje zbytečné ruční operace údržby. Poskytuje vizuální rozhraní pro správu, které vám umožňuje vytvářet a spravovat plánované úlohy, aniž byste si museli pamatovat složité parametry příkazového řádku.

Příklady použití této funkce:

  • Pravidelné zálohování distribucí WSL
  • Spouštění vlastních skriptů nebo příkazů

Všechny úlohy jsou shromažďovány v cestě \WSLDashboard\UserTasks\ v Plánovači úloh Windows pro centralizovanou správu a zobrazení. V rozhraní můžete sledovat stav úloh v reálném čase (Připraveno / Probíhá / Zakázáno).

Komunitní skripty

Ukázkové skripty (záložní distribuce) si můžete stáhnout z komunitního repozitáře a rychle začít:

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

Toto je komunitou řízený repozitář kódu. Vítány jsou Pull Requesty pro přispívání skriptů nebo sdílení osvědčených postupů.

Spuštění příkazu

Konfigurace příkazu

Každou plánovanou úlohu lze nakonfigurovat s příkazem (skriptem nebo spustitelným souborem), který podporuje následující možnosti:

NastaveníPopis
PříkazCesta ke skriptu nebo spustitelnému souboru. Podporuje formáty .bat, .ps1, .cmd, .exe, .py. Pro výběr souboru použijte tlačítko "Procházet".
ArgumentyDalší argumenty předávané příkazu, volitelné.
Spustit s právy správcePo zaškrtnutí bude úloha spuštěna s nejvyššími oprávněními, vhodné pro operace vyžadující zvýšení úrovně UAC.

Operace s úlohami

Po vytvoření úlohy můžete provádět následující operace:

AkcePopis
Spustit nyníVynutit okamžité spuštění úlohy bez ohledu na pravidla plánování.
Povolit/ZakázatPozastavit nebo obnovit automatické plánování úlohy.
OdstranitOdebrat úlohu z Plánovače úloh.

Pravidla plánování

Cron výraz

Plánování úloh používá standardní Cron výraz s 5 poli k definování pravidel spouštění v následujícím formátu:

minuta hodina den měsíc den_v_týdnu
PoleRozsahPopis
minuta0 - 59Minuta v hodině, kdy se má spustit
hodina0 - 23Hodina ve dni, kdy se má spustit
den1 - 31Den v měsíci, kdy se má spustit
měsíc1 - 12Měsíc v roce, kdy se má spustit
den_v_týdnu0 - 7Den v týdnu (0 i 7 představují neděli)

Každé pole podporuje následující syntaxi:

  • * — Odpovídá všem hodnotám (např. * * * * * znamená spuštění každou minutu)
  • */N — Spuštění každých N jednotek (např. */5 * * * * znamená spuštění každých 5 minut)
  • Jedno číslo — Odpovídá konkrétní hodnotě (např. 0 9 * * 1 znamená spuštění každé pondělí v 9:00)

Poznámka: Hodnoty oddělené čárkami (např. 1,15) a rozsahové výrazy (např. 1-5) nejsou podporovány. Další omezení naleznete v části Omezení.

Podporované kombinované vzory

Tento software nespouští nativní Cron démon, ale překládá Cron výrazy do parametrů triggerů Windows Plánovače úloh (schtasks.exe). Pro přesné mapování analyzátor podporuje pouze následujících 7 kombinovaných vzorů, které pokrývají naprostou většinu scénářů plánovaných úloh:

#VzorPopisPoužití
1* * * * *Spuštění každou minutuMonitorovací úlohy, detekce v reálném čase
2*/N * * * *Spuštění každých N minutPeriodické kontrolní úlohy
3M * * * *Spuštění v M. minutě každé hodiny (např. 3 * * * *)Úlohy v celou hodinu
4M H * * *Spuštění v H: M každý den (např. 0 3 * * *)Denní údržba, např. čištění logů každý den v 3:00
5M H * * DOWSpuštění v H: M v určitý den v týdnu (např. 0 12 * * 1)Týdenní rutinní úlohy, např. zálohování dat každé pondělí
6M H D * *Spuštění v H: M v určitý den v měsíciMěsíční úlohy, např. generování reportů 1. den v měsíci
7M H D MON *Spuštění v H: M v určitý měsíc a den v roceRoční úlohy, např. provedení v určitém měsíci

Pokud výraz nepatří do žádného z výše uvedených 7 vzorů, systém jej považuje za Unsupported cron pattern a odmítne jeho vytvoření.

Omezení

Vzhledem k tomu, že implementace je založena na Windows Plánovači úloh, existují následující rozdíly oproti standardnímu Linux Cronu:

1. Nepodporuje seznamy (,) a rozsahy (-)

Standardní Cron umožňuje definovat více diskrétních časových bodů pomocí čárek (např. 1,15,30 * * * * znamená 1., 15. a 30. minutu) nebo rozsahy pomocí pomlčky (např. 1-5 * * * * znamená 1. až 5. minutu).

Omezení tohoto softwaru: Každé pole může obsahovat pouze jedno číslo, hvězdičku (*) nebo krok (*/N), čárky a pomlčky nejsou podporovány.

2. Nepodporuje volné kombinace

Standardní Cron umožňuje libovolnou kombinaci polí (např. * 3 * * * znamená každou minutu v hodině od 3:00 do 3:59), ale tento software podporuje pouze 7 výše uvedených pevných vzorů. Výrazy mimo tento rozsah budou odmítnuty.

3. Rozdíl v časovém zarovnání u krokových vzorů

Ve standardním Cronu se */5 * * * * striktně zarovnává na 0, 5, 10, 15... minutu hodin. Tento software jej překládá do parametru Windows /SC MINUTE /MO 5. Logika Windows počítá interval od okamžiku vytvoření nebo povolení úlohy.

Například, pokud uložíte a povolíte úlohu spouštěnou každých 5 minut v 10:02, poprvé se spustí v 10:07, poté v 10:12, namísto zarovnání na standardních 10:05.