Skip to content

Planner van taken ​

Task Scheduler (Taakplanner) wordt gebruikt voor het automatiseren van periodieke taken in WSL, zodat u geen herhaalde handmatige onderhoudswerkzaamheden hoeft uit te voeren. Het biedt een visuele beheerinterface, zodat u zonder complexe opdrachtregelparameters taken kunt maken en beheren.

Voorbeelden van gebruik van deze functie:

  • Periodieke back-ups van distributies in WSL
  • Aangepaste scripts of opdrachten uitvoeren

Alle taken worden verzameld onder het pad \WSLDashboard\UserTasks\ van de Windows-taakplanner, zodat u ze centraal kunt bekijken en beheren. U kunt in de interface in real-time de status van taken bekijken (gereed / wordt uitgevoerd / uitgeschakeld).

Community-scriptrepository ​

U kunt voorbeeldscripts (back-up van distributies) downloaden uit de onderstaande communityrepository om snel te starten:

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

Dit is een door gebruikers gedeelde coderepository; u bent welkom om een Pull Request in te dienen om scripts of best practices bij te dragen.

Opdrachten uitvoeren ​

Opdrachtconfiguratie ​

Elke geplande taak kan worden geconfigureerd met de uit te voeren opdracht (script of uitvoerbaar programma), met de volgende opties:

Configuratie-itemBeschrijving
Uit te voeren opdrachtHet pad van het uit te voeren script of uitvoerbare programma; ondersteunt formaten zoals .bat, .ps1, .cmd, .exe, .py. U kunt het bestand selecteren via de knop "Bladeren".
OpdrachtparametersExtra parameters die aan de opdracht worden doorgegeven, optioneel.
BeheerdersrechtenIndien aangevinkt, wordt de taak met de hoogste rechten uitgevoerd; geschikt voor bewerkingen die UAC-verhoging vereisen.

Taakbewerkingen ​

Na het maken van een taak kunt u de volgende bewerkingen uitvoeren:

BewerkingBeschrijving
Direct uitvoerenForceer de directe uitvoering van de taak, ongeacht de planningsregels.
Inschakelen/uitschakelenPauzeer of hervat de automatische planning van de taak.
VerwijderenVerwijder de taak uit de taakplanner.

Planningsregels ​

Cron-expressie ​

De taakplanning gebruikt de standaard Cron-expressie met 5 velden om uitvoeringsregels te definiëren, met het volgende formaat:

minuut uur dag maand weekdag
VeldBereikBeschrijving
Minuut0 - 59Op welke minuut van elk uur
Uur0 - 23Op welk uur van elke dag
Dag1 - 31Op welke dag van elke maand
Maand1 - 12In welke maand van elk jaar
Weekdag0 - 70 en 7 staan beide voor zondag

Elk veld ondersteunt de volgende syntaxis:

  • * – komt overeen met alle waarden (bijv. * * * * * betekent elke minuut uitvoeren)
  • */N – voer elke N eenheden uit (bijv. */5 * * * * betekent elke 5 minuten)
  • Een enkel getal – komt overeen met een specifieke waarde (bijv. 0 9 * * 1 betekent elke maandag om 9:00)

Let op: door komma's gescheiden meerdere waarden (zoals 1,15) en bereikexpressies (zoals 1-5) worden niet ondersteund; zie de Opmerkingen hieronder voor meer beperkingen.

Ondersteunde combinatiepatronen ​

Deze software draait geen native Cron-daemon, maar vertaalt Cron-expressies naar triggerparameters van Windows-geplande taken (schtasks.exe). Voor een nauwkeurige toewijzing ondersteunt de parser hardcoded alleen de volgende 7 combinatiepatronen, die de meeste geplande taakscenario's afdekken:

#PatroonBeschrijvingToepassingsscenario
1* * * * *Elke minuut uitvoerenMonitoring, real-time detectietaken
2*/N * * * *Elke N minuten uitvoerenPeriodieke controletaken
3M * * * *Op minuut M van elk uur (bijv. 3 * * * *)Taken op hele uren
4M H * * *Elke dag op H uur en M minuut (bijv. 0 3 * * *)Dagelijks onderhoud, bijv. logboeken opschonen 's nachts
5M H * * DOWElke week op een specifieke weekdag op H uur en M minuut (bijv. 0 12 * * 1)Wekelijkse routine, bijv. elke maandag gegevens back-uppen
6M H D * *Elke maand op een specifieke dag op H uur en M minuutMaandelijkse taken, bijv. rapporten genereren op de 1e van elke maand
7M H D MON *Elk jaar op een specifieke maand en dag op H uur en M minuutJaarlijkse taken, bijv. in een specifieke maand uitvoeren

Als een expressie niet tot de bovenstaande 7 patronen behoort, beschouwt het systeem deze als Unsupported cron pattern en weigert het maken ervan.

Opmerkingen ​

Omdat de implementatie op Windows-geplande taken is gebaseerd, verschilt de Cron-parser van deze software van de standaard Linux-Cron in de volgende opzichten:

1. Lijsten (,) en bereiken (-) worden niet ondersteund ​

Standaard Cron staat toe om meerdere discrete tijdspunten via komma's te definiëren (zoals 1,15,30 * * * * voor de 1e, 15e en 30e minuut), of bereiken via een koppelteken (zoals 1-5 * * * * voor minuten 1 tot en met 5).

Beperking van deze software: elk veld kan alleen een enkel getal, sterretje (*) of stap (*/N) bevatten; komma's en koppeltekens worden niet ondersteund.

2. Vrije combinaties worden niet ondersteund ​

Standaard Cron staat vrije combinaties van velden toe (zoals * 3 * * * voor elke minuut binnen het uur van 3:00 's nachts), maar deze software ondersteunt alleen de 7 vaste patronen hierboven; expressies buiten dit bereik worden geweigerd.

3. Tijdafwijking bij stappatronen ​

In standaard Cron is */5 * * * * strikt uitgelijnd op minuten 0, 5, 10, 15... van de klok. Deze software vertaalt dit naar de parameter /SC MINUTE /MO 5 van Windows; de Windows-logica berekent het interval vanaf het moment dat de taak wordt gemaakt of ingeschakeld.

Als u bijvoorbeeld om 10:02 een taak opslaat en inschakelt die elke 5 minuten wordt uitgevoerd, wordt deze voor het eerst uitgevoerd om 10:07, daarna om 10:12, in plaats van uitgelijnd op 10:05 van de standaardklok.