Skip to content

Overzicht van Task Scheduler-functie

Task Scheduler (Taakplanner) wordt gebruikt om periodieke taken in WSL te automatiseren en herhaaldelijk handmatig onderhoud te voorkomen. Het biedt een visuele beheerinterface waarmee u geplande taken kunt maken en beheren zonder complexe opdrachtregelparameters te hoeven onthouden.

Voorbeelden van deze functie:

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

Alle taken worden verzameld onder het \WSLDashboard\UserTasks\-pad van de Windows Taakplanner voor gecentraliseerd bekijken en beheren. U kunt de taakstatus (Gereed / Bezig / Uitgeschakeld) in realtime in de interface bekijken.

Community-script-opslagplaats

U kunt voorbeelden van scripts (distributieback-ups) downloaden uit de community-opslagplaats om snel aan de slag te gaan:

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

Dit is een door gebruikers samen opgebouwde code-opslagplaats. U kunt een Pull Request indienen om scripts bij te dragen of best practices te delen.

Opdracht uitvoeren

Opdrachtconfiguratie

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

Configuratie-itemBeschrijving
UitvoeringsopdrachtPad naar het script of uitvoerbaar bestand. Ondersteunt formaten zoals .bat, .ps1, .cmd, .exe, .py. Bestand kan worden geselecteerd via de knop "Bladeren".
OpdrachtparametersOptionele extra parameters die aan de opdracht worden doorgegeven.
BeheerdersrechtenIndien aangevinkt, wordt de taak uitgevoerd met de hoogste rechten, geschikt voor bewerkingen die UAC-verhoging vereisen.

Taakbewerkingen

Nadat u een taak hebt gemaakt, kunt u de volgende bewerkingen uitvoeren:

BewerkingBeschrijving
Direct uitvoerenDe taak onmiddellijk geforceerd uitvoeren, ongeacht de plannerregels.
In-/uitschakelenHet automatisch plannen van de taak pauzeren of hervatten.
VerwijderenDe taak verwijderen uit de Taakplanner.

Planningsregels

Cron-expressie

Taakplanning gebruikt de standaard 5-veld Cron-expressie om uitvoeringsregels te definiëren, in de volgende indeling:

minuut uur dag maand weekdag
VeldWaardebereikBeschrijving
minuut0 - 59In welke minuut van het uur uitvoeren
uur0 - 23In welk uur van de dag uitvoeren
dag1 - 31Op welke dag van de maand uitvoeren
maand1 - 12In welke maand van het jaar uitvoeren
weekdag0 - 70 en 7 staan beide voor zondag

Elk veld ondersteunt de volgende syntax:

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

Let op: Door komma's gescheiden meerdere waarden (zoals 1,15) en bereikexpressies (zoals 1-5) worden niet ondersteund. Zie Opmerkingen voor meer beperkingen.

Ondersteunde combinatiepatronen

Deze software voert geen native Cron-daemon uit, maar vertaalt Cron-expressies naar triggerparameters van de Windows Taakplanner (schtasks.exe). Voor een nauwkeurige mapping ondersteunt de parser alleen de volgende 7 combinatiepatronen hardcoded, die de overgrote meerderheid van geplande taakscenario's dekken:

#PatroonBeschrijvingGebruiksscenario's
1* * * * *Elke minuut uitvoerenMonitoring, realtime detectietaken
2*/N * * * *Elke N minuten uitvoerenPeriodieke controletaken
3M * * * *Uitvoeren in minuut M van elk uur (bijv. 3 * * * *)Uurlijkse taken
4M H * * *Dagelijks uitvoeren om H:M (bijv. 0 3 * * *)Dagelijks onderhoud, zoals logs opschonen in de vroege ochtend
5M H * * DOWUitvoeren op een specifieke dag van de week om H:M (bijv. 0 12 * * 1)Wekelijkse taken, zoals back-up elke maandag
6M H D * *Uitvoeren op een specifieke dag van de maand om H:MMaandelijkse taken, zoals rapport genereren op dag 1
7M H D MON *Uitvoeren in een specifieke maand en dag van het jaar om H:MJaarlijkse taken, zoals uitvoeren in een specifieke maand

Als de expressie niet in een van de bovenstaande 7 patronen past, beschouwt het systeem deze als Unsupported cron pattern en wordt aanmaken geweigerd.

Opmerkingen

Omdat de implementatie is gebaseerd op de Windows Taakplanner, verschilt de Cron-parser van deze software op de volgende punten van de standaard Linux Cron:

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

Standaard Cron staat toe om meerdere discrete tijdstippen te definiëren met komma's (bijv. 1,15,30 * * * * betekent op minuten 1, 15 en 30) of bereiken met een koppelteken (bijv. 1-5 * * * * betekent minuten 1 tot en met 5).

Beperking van deze software: Elk veld mag alleen een enkel getal, asterisk (*) of stap (*/N) bevatten. Komma's en koppeltekens worden niet ondersteund.

2. Vrije combinaties niet ondersteund

Standaard Cron staat willekeurige combinaties van velden toe (bijv. * 3 * * * betekent elke minuut van 3:00 tot 3:59), maar deze software ondersteunt alleen de 7 vaste patronen hierboven. Expressies buiten deze patronen worden geweigerd.

3. Verschil in tijdsuitlijning bij stap-patroon

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

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