Skip to content

Pregled funkcije Task Scheduler

Task Scheduler (Načrtovalnik opravil) se uporablja za avtomatizacijo rednih opravil v WSL, s čimer se izognete ponavljajočim se ročnim vzdrževalnim opravilom. Zagotavlja vizualni vmesnik za upravljanje, ki vam omogoča ustvarjanje in upravljanje načrtovanih opravil brez potrebe po pomnjenju zapletenih parametrov ukazne vrstice.

Primeri scenarijev te funkcije:

  • Redno varnostno kopiranje distribucij v WSL
  • Izvajanje skript po meri ali ukazov

Vsa opravila so zbrana v poti \WSLDashboard\UserTasks\ Windows Načrtovalnika opravil za centraliziran pregled in upravljanje. V vmesniku lahko v realnem času vidite stanje opravila (Pripravljeno / Izvaja se / Onemogočeno).

Repozitorij skupnostnih skript

Iz spodnjega repozitorija skupnosti lahko prenesete vzorčne skripte (varnostno kopiranje distribucij) in hitro začnete:

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

To je repozitorij kode, ki ga skupaj gradijo uporabniki. Vabljeni, da pošljete Pull Request in prispevate skripte ali delite najboljše prakse.

Izvajanje ukaza

Konfiguracija ukaza

Za vsako načrtovano opravilo je mogoče konfigurirati ukaz (skript ali izvršljivo datoteko) za izvajanje z naslednjimi možnostmi:

Element konfiguracijeOpis
Ukaz za izvajanjePot do skripte ali izvršljive datoteke. Podpira formate, kot so .bat, .ps1, .cmd, .exe, .py. Datoteko lahko izberete s pomočjo gumba "Prebrskaj".
Parametri ukazaIzbirni dodatni parametri, ki se posredujejo ukazu.
Skrbniške praviceOb označitvi se opravilo izvaja z najvišjimi pravicami, primerno za operacije, ki zahtevajo povišanje UAC.

Operacije z opravilom

Po ustvarjanju opravila lahko izvedete naslednje operacije:

OperacijaOpis
Takoj zaženiVsili takojšnje izvajanje opravila, ne glede na pravila načrtovanja.
Omogoči/onemogočiZačasno ustavi ali nadaljuje samodejno načrtovanje opravila.
IzbrišiOdstrani opravilo iz Načrtovalnika opravil.

Pravila načrtovanja

Izraz Cron

Načrtovanje opravil uporablja standardni 5-poljni izraz Cron za določanje pravil izvajanja v naslednji obliki:

minuta ura dan mesec dan_v_tednu
PoljeObseg vrednostiOpis
minuta0 - 59Katero minuto vsake ure naj izvede
ura0 - 23Katero uro vsakega dne naj izvede
dan1 - 31Kateri dan vsakega meseca naj izvede
mesec1 - 12Kateri mesec vsakega leta naj izvede
dan_v_tednu0 - 70 in 7 označujeta nedeljo

Vsako polje podpira naslednjo sintakso:

  • * —— se ujema z vsemi vrednostmi (npr. * * * * * pomeni izvajanje vsako minuto)
  • */N —— izvajanje vsakih N enot (npr. */5 * * * * pomeni izvajanje vsakih 5 minut)
  • Posamezna številka —— se ujema z določeno vrednostjo (npr. 0 9 * * 1 pomeni izvajanje vsak ponedeljek ob 9:00)

Opomba: Več vrednosti, ločenih z vejico (kot 1,15), in obsegovni izrazi (kot 1-5) niso podprti. Dodatne omejitve najdete v razdelku Omejitve.

Podprti kombinirani vzorci

Ta programska oprema ne izvaja izvornega Cron demona, ampak prevaja Cron izraze v parametre sprožilcev Windows Načrtovalnika opravil (schtasks.exe). Za natančno preslikavo analizator podpira samo naslednjih 7 kombiniranih vzorcev, ki pokrivajo veliko večino scenarijev načrtovanih opravil:

#VzorecOpisUporaba
1* * * * *Izvajanje vsako minutoNadzorna opravila, zaznavanje v realnem času
2*/N * * * *Izvajanje vsakih N minutPeriodična kontrolna opravila
3M * * * *Izvajanje v M. minuti vsako uro (npr. 3 * * * *)Opravila ob celi uri
4M H * * *Izvajanje ob H: M vsak dan (npr. 0 3 * * *)Dnevno vzdrževanje, npr. čiščenje dnevnikov vsak dan ob 3:00
5M H * * DOWIzvajanje ob H: M na določen dan v tednu (npr. 0 12 * * 1)Tedenska rutinska opravila, npr. varnostno kopiranje podatkov vsak ponedeljek
6M H D * *Izvajanje ob H: M na določen dan v mesecuMesečna opravila, npr. ustvarjanje poročil 1. dan v mesecu
7M H D MON *Izvajanje ob H: M v določenem mesecu in dnevu v letuLetna opravila, npr. izvajanje v določenem mesecu

Če izraz ne spada v nobenega od zgornjih 7 vzorcev, ga sistem obravnava kot Unsupported cron pattern in zavrne njegovo ustvarjanje.

Omejitve

Ker je implementacija zasnovana na Windows Načrtovalniku opravil, obstajajo naslednje razlike v primerjavi s standardnim Linux Cronom:

1. Ne podpira seznamov (,) in obsegov (-)

Standardni Cron omogoča definiranje več diskretnih časovnih točk z vejicami (npr. 1,15,30 * * * * pomeni 1., 15. in 30. minuto) ali obsegov z vezajem (npr. 1-5 * * * * pomeni 1. do 5. minuto).

Omejitev te programske opreme: Vsako polje lahko vsebuje samo eno številko, zvezdico (*) ali korak (*/N), vejice in vezaji niso podprti.

2. Ne podpira prostih kombinacij

Standardni Cron omogoča poljubno kombinacijo polj (npr. * 3 * * * pomeni vsako minuto v uri od 3:00 do 3:59), vendar ta programska oprema podpira samo 7 zgoraj navedenih fiksnih vzorcev. Izrazi zunaj tega obsega bodo zavrnjeni.

3. Razlika v časovnem poravnavanju pri korakovnih vzorcih

V standardnem Cronu se */5 * * * * strogo poravnava na 0, 5, 10, 15... minuto ure. Ta programska oprema ga prevede v parameter Windows /SC MINUTE /MO 5. Logika Windows šteje interval od trenutka ustvarjanja ali omogočanja opravila.

Na primer, če shranite in omogočite opravilo, ki se izvaja vsakih 5 minut ob 10:02, se bo prvič izvedlo ob 10:07, nato ob 10:12, namesto poravnave na standardnih 10:05.