Skip to content

Task Scheduler -toiminnon esittely

Task Scheduler (Tehtävien ajoittaja) on tarkoitettu toistuvien tehtävien automatisointiin WSL:ssä, välttäen toistuvat manuaaliset ylläpitotoimet. Se tarjoaa visuaalisen hallintaliittymän, jonka avulla voit luoda ja hallita ajastettuja tehtäviä ilman monimutkaisten komentoriviparametrien muistamista.

Tämän toiminnon esimerkkiskenaariot:

  • WSL-jakelujen säännöllinen varmuuskopiointi
  • Mukautettujen skriptien tai komentojen suorittaminen

Kaikki tehtävät kootaan Windowsin Tehtävien ajoittajan \WSLDashboard\UserTasks\ -polun alle keskitettyä hallintaa ja tarkastelua varten. Voit nähdä tehtävien reaaliaikaisen tilan (Valmis / Käynnissä / Poistettu käytöstä) käyttöliittymässä.

Yhteisön skriptit

Voit ladata esimerkkiskriptejä (jakelujen varmuuskopiointi) yhteisön arkistosta päästäksesi nopeasti alkuun:

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

Tämä on yhteisövetoinen koodiarkisto. Pull Requests -ehdotukset ovat tervetulleita skriptien lisäämiseksi tai parhaiden käytäntöjen jakamiseksi.

Suorita komento

Komennon määritys

Jokainen ajastettu tehtävä voidaan määrittää komennolla (skripti tai suoritettava tiedosto), joka tukee seuraavia vaihtoehtoja:

AsetusKuvaus
KomentoPolku skriptiin tai suoritettavaan tiedostoon. Tukee muotoja .bat, .ps1, .cmd, .exe, .py. Käytä "Selaa"-painiketta tiedoston valitsemiseen.
ArgumentitLisäargumentit, jotka välitetään komennolle, valinnainen.
Suorita järjestelmänvalvojan oikeuksinKun käytössä, tehtävä suoritetaan korkeimmilla oikeuksilla, sopii toimintoihin, jotka vaativat UAC-korotusta.

Tehtävätoiminnot

Tehtävän luomisen jälkeen voit suorittaa seuraavat toiminnot:

ToimintoKuvaus
Suorita nytPakota tehtävä suoritettavaksi välittömästi ajastussäännöistä riippumatta.
Ota käyttöön/Poista käytöstäKeskeytä tai jatka tehtävän automaattista ajastusta.
PoistaPoista tehtävä Tehtävien ajoittajasta.

Ajastussäännöt

Cron-lauseke

Tehtävien ajastus käyttää vakiota 5-kenttäistä Cron-lauseketta suoritussääntöjen määrittämiseen:

minuutti tunti päivä kuukausi viikonpäivä
KenttäAlueKuvaus
minuutti0 - 59Tunnin minuutti, jolloin suoritetaan
tunti0 - 23Vuorokauden tunti, jolloin suoritetaan
päivä1 - 31Kuukauden päivä, jolloin suoritetaan
kuukausi1 - 12Vuoden kuukausi, jolloin suoritetaan
viikonpäivä0 - 7Viikonpäivä (0 ja 7 tarkoittavat molemmat sunnuntaita)

Jokainen kenttä tukee seuraavaa syntaksia:

  • * — Vastaa kaikkia arvoja (esim. * * * * * tarkoittaa joka minuutti)
  • */N — Joka N. yksikkö (esim. */5 * * * * tarkoittaa joka 5. minuutti)
  • Yksittäinen numero — Vastaa tiettyä arvoa (esim. 0 9 * * 1 tarkoittaa joka maanantai klo 9:00)

Huomautus: Pilkulla erotetut useat arvot (esim. 1,15) ja alueilmaisut (esim. 1-5) eivät ole tuettuja. Lisärajoituksista katso alla oleva Tärkeitä huomautuksia.

Tuetut yhdistelmämallit

Tämä ohjelmisto ei käytä alkuperäistä Cron-taustapalvelua, vaan kääntää Cron-lausekkeen Windowsin Tehtävien ajoittajan (schtasks.exe) parametreiksi. Tarkkaa kartoittamista varten jäsennin tukee vain seuraavia 7 yhdistelmämallia, jotka kattavat useimmat ajastettujen tehtävien skenaariot:

#MalliKuvausKäyttötapaus
1* * * * *Joka minuuttiValvonta-, reaaliaikaisiin tunnistustehtäviin
2*/N * * * *Joka N. minuuttiMääräaikaisiin tarkistustehtäviin
3M * * * *Joka tunti minuutilla M (esim. 3 * * * *)Tuntikohtaisiin tehtäviin
4M H * * *Joka päivä klo H:M (esim. 0 3 * * *)Päivittäinen ylläpito, esim. lokien tyhjennys keskiyöllä
5M H * * DOWJoka viikko tiettynä viikonpäivänä klo H:M (esim. 0 12 * * 1)Viikoittaiset rutiinitehtävät, esim. tietojen varmuuskopiointi joka maanantai
6M H D * *Joka kuukausi tiettynä päivänä klo H:MKuukausittaiset tehtävät, esim. raportin luominen kuun 1. päivänä
7M H D MON *Joka vuosi tiettynä kuukautena ja päivänä klo H:MVuosittaiset tehtävät, esim. suoritus tiettynä kuukautena

Jos lauseke ei vastaa mitään yllä olevista 7 mallista, järjestelmä käsittelee sitä Unsupported cron pattern -virheenä ja kieltäytyy luomasta tehtävää.

Tärkeitä huomautuksia

Koska toteutus perustuu Windowsin Tehtävien ajoittajaan, tämän ohjelmiston Cron-jäsennin eroaa tavallisesta Linux Cronista seuraavilla tavoilla:

1. Ei tue listaa (,) ja aluetta (-)

Tavallinen Cron sallii pilkulla erotetut diskreetit aikapisteet (esim. 1,15,30 * * * * tarkoittaa minuutteja 1, 15, 30) tai yhdysviivalla määritellyt alueet (esim. 1-5 * * * * tarkoittaa minuutteja 1-5).

Tämän ohjelmiston rajoitus: Jokainen kenttä voi sisältää vain yksittäisen numeron, tähden (*) tai askeleen (*/N), pilkkua ja yhdysviivaa ei tueta.

2. Ei tue vapaata yhdistelyä

Tavallinen Cron sallii kaikkien kenttien vapaan yhdistelyn (esim. * 3 * * * tarkoittaa joka minuutti kello 3:n aikana aamulla), mutta tämä ohjelmisto tukee vain yllä lueteltuja 7 kiinteää mallia. Tämän alueen ulkopuoliset lausekkeet hylätään.

3. Ajan kohdistuksen ero askellustilassa

Tavallisessa Cronissa */5 * * * * on tiukasti kohdistettu tunnin minuutteihin 0, 5, 10, 15.... Tämä ohjelmisto kääntää tämän Windowsin /SC MINUTE /MO 5 -parametriksi, jossa Windowsin käsittelylogiikka laskee välin tehtävän luomis- tai aktivointihetkestä alkaen.

Jos esimerkiksi tallennat ja aktivoit tehtävän, joka suoritetaan joka 5. minuutti kello 10:02, se suoritetaan ensimmäisen kerran kello 10:07, sitten 10:12, eikä kohdisteta tavallisen kellon 10:05-aikaan.