Skip to content

Översikt över Task Scheduler-funktionen

Task Scheduler (Uppgiftsschemaläggaren) används för att automatisera återkommande uppgifter i WSL och undvika repetitiva manuella underhållsoperationer. Den ger ett visuellt administrationsgränssnitt som gör att du kan skapa och hantera schemalagda uppgifter utan att behöva komma ihåg komplexa kommandoradjsparametrar.

Exempel på användningsområden:

  • Regelbunden säkerhetskopiering av distributioner i WSL
  • Utföra anpassade skript eller kommandon

Alla uppgifter samlas under sökvägen \WSLDashboard\UserTasks\ i Windows Uppgiftsschemaläggaren för centraliserad visning och hantering. Du kan se uppgiftsstatus (Redo / Körs / Inaktiverad) i realtid i gränssnittet.

Community-skriptarkiv

Du kan ladda ner exempelskript (säkerhetskopiering av distributioner) från community-arkivet nedan för att komma igång snabbt:

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

Detta är ett kodarkiv som byggs upp av användare tillsammans. Du är välkommen att skicka en Pull Request för att bidra med skript eller dela bästa praxis.

Utföra kommando

Kommandokonfiguration

För varje schemalagd uppgift kan kommandot (skript eller körbar fil) som ska utföras konfigureras med följande alternativ:

KonfigurationspostBeskrivning
Kör kommandoSökväg till skript eller körbar fil. Stöder format som .bat, .ps1, .cmd, .exe, .py. Fil kan väljas via knappen "Bläddra".
KommandoparametrarValfria extra parametrar som skickas till kommandot.
AdministratörsbehörighetOm markerad körs uppgiften med högsta behörighet, lämplig för operationer som kräver UAC-förhöjning.

Uppgiftsoperationer

Efter att du har skapat en uppgift kan du utföra följande operationer:

OperationBeskrivning
Kör omedelbartTvinga uppgiften att köras omedelbart, oavsett schemaläggningsregler.
Aktivera/inaktiveraPausa eller återuppta automatisk schemaläggning av uppgiften.
Ta bortTa bort uppgiften från Uppgiftsschemaläggaren.

Schemaläggningsregler

Cron-uttryck

Uppgiftsschemaläggning använder standard 5-fälts Cron-uttryck för att definiera körningsregler, med följande format:

minut timme dag månad vecka
FältVärdeintervallBeskrivning
minut0 - 59Vilken minut varje timme ska köras
timme0 - 23Vilken timme varje dag ska köras
dag1 - 31Vilken dag varje månad ska köras
månad1 - 12Vilken månad varje år ska köras
vecka0 - 70 och 7 representerar båda söndag

Varje fält stöder följande syntax:

  • * —— matchar alla värden (t.ex. * * * * * betyder kör varje minut)
  • */N —— kör var N:e enhet (t.ex. */5 * * * * betyder kör var 5:e minut)
  • Enstaka nummer —— matchar ett specifikt värde (t.ex. 0 9 * * 1 betyder kör varje måndag kl. 9:00)

Obs: Kommaseparerade flera värden (t.ex. 1,15) och intervalluttryck (t.ex. 1-5) stöds inte. För ytterligare begränsningar, se Viktiga anmärkningar nedan.

Kombinationsmönster som stöds

Denna programvara kör ingen inbyggd Cron-demon, utan översätter Cron-uttryck till Windows Schemalagda uppgifter (schtasks.exe) triggerparametrar. För korrekt mappning stöder parsern endast följande 7 kombinationsmönster, som täcker de flesta scenarier för schemalagda uppgifter:

#MönsterBeskrivningAnvändningsscenario
1* * * * *Kör varje minutÖvervaknings-, realtidsdetekteringsuppgifter
2*/N * * * *Kör var N:e minutPeriodiska kontrolluppgifter
3M * * * *Kör vid minut M varje timme (t.ex. 3 * * * *)Heltimmarsuppgifter
4M H * * *Kör varje dag kl. H:M (t.ex. 0 3 * * *)Dagligt underhåll, t.ex. rensa loggar vid midnatt varje dag
5M H * * DOWKör varje vecka på specifik dag kl. H:M (t.ex. 0 12 * * 1)Veckovisa rutinuppgifter, t.ex. säkerhetskopiera data varje måndag
6M H D * *Kör varje månad på specifik dag kl. H:MMånatliga uppgifter, t.ex. generera rapport den 1:a varje månad
7M H D MON *Kör varje år på specifik månad och dag kl. H:MÅrliga uppgifter, t.ex. kör en specifik månad

Om uttrycket inte matchar något av ovanstående 7 mönster kommer systemet att betrakta det som Unsupported cron pattern och vägra att skapa uppgiften.

Viktiga anmärkningar

Eftersom implementationen bygger på Windows Schemalagda uppgifter, skiljer sig denna programvaras Cron-parser från standard Linux Cron på följande sätt:

1. Stöder inte lista (,) och intervall (-)

Standard Cron tillåter komma-separerade diskreta tidpunkter (t.ex. 1,15,30 * * * * betyder minut 1, 15, 30) eller bindestreck för intervall (t.ex. 1-5 * * * * betyder minut 1 till 5).

Begränsning i denna programvara: Varje fält kan endast innehålla ett enskilt nummer, asterisk (*) eller steg (*/N), komma och bindestreck stöds inte.

2. Stöder inte fri kombination

Standard Cron tillåter fri kombination av alla fält (t.ex. * 3 * * * betyder varje minut under klockan 3 på morgonen), men denna programvara stöder endast de 7 fasta mönster som listas ovan. Uttryck utanför detta intervall kommer att avvisas.

3. Skillnad i tidsjustering för stegmönster

I standard Cron är */5 * * * * strikt justerad till minuterna 0, 5, 10, 15... på timmen. Denna programvara översätter detta till Windows /SC MINUTE /MO 5-parameter, där Windows bearbetningslogik är att beräkna intervallet från det ögonblick uppgiften skapas eller aktiveras.

Om du till exempel sparar och aktiverar en uppgift som körs var 5:e minut vid 10:02, kommer den att köras första gången vid 10:07, sedan 10:12, inte justerad till standardklockans 10:05.