Skip to content

A Task Scheduler funkció bemutatása

A Task Scheduler (Feladatütemező) a WSL-ben ismétlődő feladatok automatizálására szolgál, elkerülve az ismétlődő kézi karbantartási műveleteket. Vizuális felügyeleti felületet biztosít, amelynek segítségével összetett parancssori paraméterek megjegyzése nélkül hozhat létre és kezelhet ütemezett feladatokat.

A funkció példaforgatókönyvei:

  • WSL-disztribúciók rendszeres biztonsági mentése
  • Egyéni szkriptek vagy parancsok végrehajtása

Az összes feladat a Windows Feladatütemező \WSLDashboard\UserTasks\ elérési útja alá gyűjtve jelenik meg a központosított kezelés és megtekintés érdekében. Valós időben láthatja a feladatok állapotát (Kész / Fut / Letiltva) a felületen.

Közösségi szkriptek

Letölthet példaszkripteket (disztribúciók biztonsági mentései) a közösségi tárolóból a gyors kezdéshez:

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

Ez egy közösség által működtetett kódtár. A Pull Requesteket szívesen fogadjuk szkriptek hozzájárulásához vagy bevált gyakorlatok megosztásához.

Parancs végrehajtása

Parancs konfiguráció

Minden ütemezett feladat konfigurálható egy paranccsal (szkript vagy végrehajtható fájl), amely a következő beállításokat támogatja:

BeállításLeírás
ParancsA szkript vagy végrehajtható fájl elérési útja. Támogatja a .bat, .ps1, .cmd, .exe, .py formátumokat. Fájl kiválasztásához használja a "Tallózás" gombot.
ArgumentumokTovábbi argumentumok a parancshoz, opcionális.
Futtatás rendszergazdai jogosultságokkalBekapcsolás esetén a feladat a legmagasabb jogosultságokkal fut, alkalmas UAC-emelést igénylő műveletekhez.

Feladatműveletek

A feladat létrehozása után a következő műveleteket hajthatja végre:

MűveletLeírás
Futtatás mostA feladat azonnali végrehajtásának kényszerítése, az ütemezési szabályoktól függetlenül.
Engedélyezés/LetiltásA feladat automatikus ütemezésének szüneteltetése vagy folytatása.
TörlésA feladat eltávolítása a Feladatütemezőből.

Ütemezési szabályok

Cron kifejezés

A feladatütemezés a szabványos 5 mezős Cron kifejezést használja a végrehajtási szabályok meghatározásához a következő formátumban:

perc óra nap hónap hét napja
MezőTartományLeírás
perc0 - 59Az óra perce, amikor végrehajtódik
óra0 - 23A nap órája, amikor végrehajtódik
nap1 - 31A hónap napja, amikor végrehajtódik
hónap1 - 12Az év hónapja, amikor végrehajtódik
hét napja0 - 7A hét napja (0 és 7 is vasárnapot jelöl)

Minden mező a következő szintaxist támogatja:

  • * — Minden értéknek megfelel (pl. * * * * * minden percet jelent)
  • */N — Minden N egységben (pl. */5 * * * * minden 5 percet jelent)
  • Egyetlen szám — Egy adott értéknek felel meg (pl. 0 9 * * 1 minden hétfőn reggel 9:00-t jelent)

Megjegyzés: A vesszővel elválasztott több érték (pl. 1,15) és a tartománykifejezések (pl. 1-5) nem támogatottak. További korlátozásokért lásd a Korlátozások szakaszt.

Támogatott kombinációs minták

Ez a szoftver nem futtat natív Cron démont, hanem a Cron kifejezéseket a Windows Feladatütemező (schtasks.exe) trigger paramétereire fordítja le. A pontos leképezés érdekében a következő 7 kombinációs minta van hardcode-olva az elemzőben, amelyek a legtöbb ütemezett feladat forgatókönyvet lefedik:

#MintaLeírásAlkalmazási terület
1* * * * *Végrehajtás percenkéntMonitoring és valós idejű érzékelési feladatok
2*/N * * * *Végrehajtás N percenkéntIdőszakos ellenőrző feladatok
3M * * * *Végrehajtás minden óra M. percében (pl. 3 * * * *)Óránkénti feladatok
4M H * * *Végrehajtás H: M-kor minden nap (pl. 0 3 * * *)Napi karbantartás, pl. naplók törlése minden nap hajnali 3:00-kor
5M H * * DOWVégrehajtás H: M-kor a hét adott napján (pl. 0 12 * * 1)Heti rutinfeladatok, pl. adatok biztonsági mentése minden hétfőn
6M H D * *Végrehajtás H: M-kor a hónap adott napjánHavi feladatok, pl. jelentések készítése a hónap 1. napján
7M H D MON *Végrehajtás H: M-kor az év adott hónapjában és napjánÉves feladatok, pl. végrehajtás egy adott hónapban

Ha a kifejezés nem tartozik a fenti 7 minta egyikébe sem, a rendszer Unsupported cron pattern-ként kezeli, és elutasítja a létrehozást.

Korlátozások

Mivel a megvalósítás a Windows Feladatütemezőn alapul, a következő különbségek vannak a szabványos Linux Cronhoz képest:

1. Nem támogatja a listákat (,) és tartományokat (-)

A szabványos Cron lehetővé teszi több diszkrét időpont megadását vesszővel (pl. 1,15,30 * * * * az 1., 15. és 30. percet jelenti), vagy tartományok megadását kötőjellel (pl. 1-5 * * * * az 1. és 5. perc közötti tartományt jelenti).

A szoftver korlátozása: Minden mező csak egyetlen számot, csillagot (*) vagy lépést (*/N) tartalmazhat, a vesszők és kötőjelek nem támogatottak.

2. Nem támogatja a szabad kombinációkat

A szabványos Cron lehetővé teszi a mezők szabad kombinációját (pl. * 3 * * * a 3:00 és 3:59 közötti óra minden percét jelenti), de ez a szoftver csak a fenti 7 rögzített mintát támogatja. Az ezen a tartományon kívüli kifejezések elutasításra kerülnek.

3. Különbség a lépéses minták időbeli igazításában

A szabványos Cronban a */5 * * * * szigorúan a 0, 5, 10, 15... percekhez igazodik. Ez a szoftver ezt a Windows /SC MINUTE /MO 5 paraméterére fordítja le. A Windows logikája a feladat létrehozásának vagy engedélyezésének pillanatától számítja az intervallumot.

Például, ha egy 5 percenként futó feladatot 10:02-kor ment és engedélyez, az első végrehajtás 10:07-kor történik, majd 10:12-kor, ahelyett, hogy a szabványos 10:05-höz igazodna.