Skip to content

Prehľad funkcie Task Scheduler

Task Scheduler (Plánovač úloh) sa používa na automatizáciu pravidelných úloh v WSL, čím sa predchádza opakovaným manuálnym operáciám údržby. Poskytuje vizuálne rozhranie na správu, ktoré vám umožňuje vytvárať a spravovať plánované úlohy bez potreby pamätať si zložité parametre príkazového riadku.

Príklady scenárov tejto funkcie:

  • Pravidelné zálohovanie distribúcií v WSL
  • Vykonávanie vlastných skriptov alebo príkazov

Všetky úlohy sa zhromažďujú v ceste \WSLDashboard\UserTasks\ Plánovača úloh systému Windows pre centralizované zobrazenie a správu. V rozhraní môžete v reálnom čase vidieť stav úlohy (Pripravené / Spustené / Zakázané).

Komunitný repozitár skriptov

Z komunitného repozitára si môžete stiahnuť ukážkové skripty (zálohovanie distribúcií) a rýchlo začať:

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

Toto je repozitár kódu vytváraný spoločne používateľmi. Vitajte a pošlite Pull Request a prispejte skriptmi alebo zdieľajte osvedčené postupy.

Vykonanie príkazu

Konfigurácia príkazu

Pre každú plánovanú úlohu je možné nakonfigurovať vykonávaný príkaz (skript alebo spustiteľný súbor) s nasledujúcimi možnosťami:

Položka konfiguráciePopis
Príkaz na vykonanieCesta k skriptu alebo spustiteľnému súboru. Podporuje formáty ako .bat, .ps1, .cmd, .exe, .py. Súbor je možné vybrať pomocou tlačidla "Prehľadávať".
Parametre príkazuVoliteľné dodatočné parametre odovzdané príkazu.
Práva správcuPo zaškrtnutí sa úloha spustí s najvyššími právami, vhodné pre operácie vyžadujúce zvýšenie úrovne UAC.

Operácie s úlohou

Po vytvorení úlohy môžete vykonávať nasledujúce operácie:

OperáciaPopis
Spustiť okamžiteVynútiť okamžité spustenie úlohy bez ohľadu na pravidlá plánovania.
Povoliť/zakázaťPozastaviť alebo obnoviť automatické plánovanie úlohy.
OdstrániťOdstrániť úlohu z Plánovača úloh.

Pravidlá plánovania

Cron výraz

Plánovanie úloh používa štandardný 5-polový Cron výraz na definovanie pravidiel vykonania v nasledujúcom formáte:

minúta hodina deň mesiac deň_v_týždni
PoleRozsah hodnôtPopis
minúta0 - 59Ktorú minútu každej hodiny vykonať
hodina0 - 23Ktorú hodinu každého dňa vykonať
deň1 - 31Ktorý deň každého mesiaca vykonať
mesiac1 - 12Ktorý mesiac každého roka vykonať
deň_v_týždni0 - 70 a 7 označujú nedeľu

Každé pole podporuje nasledujúcu syntax:

  • * —— zodpovedá všetkým hodnotám (napr. * * * * * znamená vykonať každú minútu)
  • */N —— vykonať každých N jednotiek (napr. */5 * * * * znamená vykonať každých 5 minút)
  • Jedno číslo —— zodpovedá konkrétnej hodnote (napr. 0 9 * * 1 znamená vykonať každý pondelok o 9:00)

Poznámka: Viacnásobné hodnoty oddelené čiarkami (napr. 1,15) a rozsahové výrazy (napr. 1-5) nie sú podporované. Ďalšie obmedzenia nájdete v časti Obmedzenia.

Podporované kombinované vzory

Tento software nespúšťa natívny Cron démon, ale prekladá Cron výrazy do parametrov triggerov Windows Plánovača úloh (schtasks.exe). Pre presné mapovanie analyzátor podporuje iba nasledujúcich 7 kombinovaných vzorov, ktoré pokrývajú veľkú väčšinu scenárov plánovaných úloh:

#VzorPopisPoužitie
1* * * * *Vykonanie každú minútuMonitorovacie úlohy, detekcia v reálnom čase
2*/N * * * *Vykonanie každých N minútPeriodické kontrolné úlohy
3M * * * *Vykonanie v M. minúte každú hodinu (napr. 3 * * * *)Úlohy na celú hodinu
4M H * * *Vykonanie v H: M každý deň (napr. 0 3 * * *)Denná údržba, napr. čistenie logov každý deň o 3:00
5M H * * DOWVykonanie v H: M v určitý deň v týždni (napr. 0 12 * * 1)Týždenné rutinné úlohy, napr. zálohovanie údajov každý pondelok
6M H D * *Vykonanie v H: M v určitý deň v mesiaciMesačné úlohy, napr. generovanie správ 1. deň v mesiaci
7M H D MON *Vykonanie v H: M v určitý mesiac a deň v rokuRočné úlohy, napr. vykonanie v určitom mesiaci

Ak výraz nepatrí do žiadneho z vyššie uvedených 7 vzorov, systém ho považuje za Unsupported cron pattern a odmietne jeho vytvorenie.

Obmedzenia

Keďže implementácia je založená na Windows Plánovači úloh, existujú nasledujúce rozdiely oproti štandardnému Linux Cronu:

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

Štandardný Cron umožňuje definovať viacero diskrétnych časových bodov pomocou čiarok (napr. 1,15,30 * * * * znamená 1., 15. a 30. minútu) alebo rozsahy pomocou pomlčky (napr. 1-5 * * * * znamená 1. až 5. minútu).

Obmedzenie tohto softvéru: Každé pole môže obsahovať iba jedno číslo, hviezdičku (*) alebo krok (*/N), čiarky a pomlčky nie sú podporované.

2. Nepodporuje voľné kombinácie

Štandardný Cron umožňuje ľubovoľnú kombináciu polí (napr. * 3 * * * znamená každú minútu v hodine od 3:00 do 3:59), ale tento software podporuje iba 7 vyššie uvedených pevných vzorov. Výrazy mimo tohto rozsahu budú odmietnuté.

3. Rozdiel v časovom zarovnaní pri krokových vzoroch

V štandardnom Crone sa */5 * * * * striktne zarovnáva na 0, 5, 10, 15... minútu hodín. Tento software ho prekladá do parametra Windows /SC MINUTE /MO 5. Logika Windows počíta interval od okamihu vytvorenia alebo povolenia úlohy.

Napríklad, ak uložíte a povolíte úlohu spúšťanú každých 5 minút o 10:02, prvýkrát sa spustí o 10:07, potom o 10:12, namiesto zarovnania na štandardných 10:05.