Skip to content

Pagpapakilala sa Feature ng Task Scheduler

Ang Task Scheduler (Tagapag-iskedyul ng Gawain) ay ginagamit upang i-automate ang mga pana-panahong gawain sa WSL, na iniiwasan ang paulit-ulit na manu-manong pagpapanatili. Nagbibigay ito ng visual na interface ng pamamahala upang makalikha at makapamahala ka ng mga naka-iskedyul na gawain nang hindi kailangang tandaan ang mga kumplikadong parameter ng command-line.

Halimbawang mga senaryo ng feature na ito:

  • Regular na pag-back up ng mga distribusyon ng WSL
  • Pagpapatupad ng mga custom na script o command

Ang lahat ng gawain ay pinagsama-sama sa ilalim ng path na \WSLDashboard\UserTasks\ sa Windows Task Scheduler para sa sentralisadong pamamahala at pagtingin. Maaari mong makita ang real-time na status ng gawain (Handa / Tumatakbo / Hindi Pinagana) sa interface.

Community Scripts

Maaari kang mag-download ng mga halimbawang script (backup distributions) mula sa community repository upang makapagsimula nang mabilis:

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

Ito ay isang community-driven code repository. Malugod na tinatanggap ang mga Pull Request upang mag-ambag ng mga script o magbahagi ng pinakamahuhusay na kagawian.

Pagpapatupad ng Command

Pag-configure ng Command

Ang bawat naka-iskedyul na gawain ay maaaring i-configure gamit ang isang command (script o executable), na sumusuporta sa mga sumusunod na opsyon:

SettingPaglalarawan
CommandPath sa script o executable. Sumusuporta sa mga format na .bat, .ps1, .cmd, .exe, .py. Gamitin ang "Browse" na button upang pumili ng file.
ArgumentsKaragdagang mga argumento na ipapasa sa command, opsyonal.
Patakbuhin gamit ang admin privilegesKapag pinagana, ang gawain ay tatakbo na may pinakamataas na pribilehiyo, angkop para sa mga operasyon na nangangailangan ng UAC elevation.

Mga Operasyon sa Gawain

Pagkatapos lumikha ng gawain, maaari mong gawin ang mga sumusunod na operasyon:

AksyonPaglalarawan
Patakbuhin ngayonPilitin ang gawain na maisakatuparan agad, anuman ang mga panuntunan sa iskedyul.
Paganahin/Huwag paganahinI-pause o ipagpatuloy ang awtomatikong iskedyul ng gawain.
TanggalinAlisin ang gawain mula sa Task Scheduler.

Mga Panuntunan sa Iskedyul

Cron Expression

Ang pag-iiskedyul ng gawain ay gumagamit ng karaniwang 5-field na Cron expression upang tukuyin ang mga panuntunan sa pagpapatupad, na may sumusunod na format:

minuto oras araw buwan araw_ng_linggo
FieldSaklawPaglalarawan
minuto0 - 59Ang minuto ng oras kung kailan isasagawa
oras0 - 23Ang oras ng araw kung kailan isasagawa
araw1 - 31Ang araw ng buwan kung kailan isasagawa
buwan1 - 12Ang buwan ng taon kung kailan isasagawa
araw_ng_linggo0 - 70 at 7 ay parehong kumakatawan sa Linggo

Ang bawat field ay sumusuporta sa sumusunod na syntax:

  • * —— Tumutugma sa lahat ng halaga (hal., ang * * * * * ay nangangahulugang bawat minuto)
  • */N —— Bawat N yunit (hal., ang */5 * * * * ay nangangahulugang bawat 5 minuto)
  • Isang numero —— Tumutugma sa isang partikular na halaga (hal., ang 0 9 * * 1 ay nangangahulugang tuwing Lunes ng 9:00 AM)

Tandaan: Ang mga halagang pinaghihiwalay ng kuwit (tulad ng 1,15) at mga range expression (tulad ng 1-5) ay hindi sinusuportahan. Tingnan ang Mga Dapat Tandaan sa ibaba para sa karagdagang mga limitasyon.

Mga Suportadong Pattern ng Kombinasyon

Ang software na ito ay hindi nagpapatakbo ng native na Cron daemon, sa halip ay isinasalin ang mga Cron expression sa mga trigger parameter ng Windows Task Scheduler (schtasks.exe). Para sa tumpak na pagmamapa, ang parser ay sumusuporta lamang sa sumusunod na 7 pattern ng kombinasyon, na sumasaklaw sa karamihan ng mga senaryo ng naka-iskedyul na gawain:

#PatternPaglalarawanSkenaryo ng Paggamit
1* * * * *Isagawa bawat minutoMga gawain sa pagmonitor at real-time na detection
2*/N * * * *Isagawa bawat N minutoMga pana-panahong gawain sa pagsusuri
3M * * * *Isagawa sa minutong M ng bawat oras (hal. 3 * * * *)Mga gawain sa oras
4M H * * *Isagawa araw-araw sa H:M (hal. 0 3 * * *)Araw-araw na pagpapanatili, tulad ng paglilinis ng log tuwing madaling araw
5M H * * DOWIsagawa sa partikular na araw ng linggo sa H:M (hal. 0 12 * * 1)Lingguhang gawain, tulad ng pag-back up ng data tuwing Lunes
6M H D * *Isagawa sa partikular na araw bawat buwan sa H:MBuwanang gawain, tulad ng pagbuo ng ulat tuwing ika-1 ng buwan
7M H D MON *Isagawa sa partikular na buwan at araw bawat taon sa H:MTaunang gawain, tulad ng sa isang partikular na buwan

Kung ang expression ay hindi kabilang sa alinman sa 7 pattern sa itaas, ituturing ito ng system bilang Unsupported cron pattern at tatanggihan ang paggawa.

Mga Dapat Tandaan

Dahil ang implementasyon ay batay sa Windows Task Scheduler, ang Cron parser ng software na ito ay may sumusunod na mga pagkakaiba mula sa karaniwang Linux Cron:

1. Hindi sinusuportahan ang listahan (,) at range (-)

Ang karaniwang Cron ay nagpapahintulot ng paggamit ng kuwit upang tukuyin ang maraming discrete na oras (tulad ng 1,15,30 * * * * ay nangangahulugang minuto 1, 15, 30), o gitling upang tukuyin ang isang range (tulad ng 1-5 * * * * ay nangangahulugang minuto 1 hanggang 5).

Limitasyon ng software na ito: Ang bawat field ay maaari lamang maglaman ng isang numero, asterisk (*), o step (*/N), hindi sinusuportahan ang kuwit at gitling.

2. Hindi sinusuportahan ang malayang kombinasyon

Ang karaniwang Cron ay nagpapahintulot ng malayang kombinasyon ng anumang field (tulad ng * 3 * * * ay nangangahulugang bawat minuto sa loob ng 3 AM), ngunit ang software na ito ay sumusuporta lamang sa 7 nakapirming pattern na nakalista sa itaas. Ang mga expression na hindi nasa saklaw na ito ay tatanggihan.

3. Pagkakaiba sa time alignment sa step mode

Sa karaniwang Cron, ang */5 * * * * ay mahigpit na naka-align sa minutong 0, 5, 10, 15... ng oras. Isinasalin ito ng software na ito sa parameter ng Windows na /SC MINUTE /MO 5, kung saan ang lohika ng pagproseso ng Windows ay kinakalkula ang interval mula sa oras na ginawa o na-activate ang gawain.

Halimbawa, kung na-save at na-activate mo ang isang gawain na tumatakbo bawat 5 minuto sa 10:02, ito ay unang tatakbo sa 10:07, pagkatapos ay sa 10:12, sa halip na naka-align sa karaniwang 10:05.