Skip to content

Task Scheduler လုပ်ဆောင်ချက် ခြုံငုံသုံးသပ်ချက်

Task Scheduler (အလုပ်စီစဉ်သူ) သည် WSL တွင် ပုံမှန်အလုပ်များကို အလိုအလျောက်လုပ်ဆောင်ရန် အသုံးပြုပြီး၊ ထပ်ခါတလဲလဲ လက်ဖြင့်ပြုလုပ်ရသည့် ပြုပြင်ထိန်းသိမ်းမှုလုပ်ငန်းများကို ရှောင်ရှားနိုင်သည်။ ၎င်းသည် ရှုပ်ထွေးသော command-line parameters များကိုမှတ်သားစရာမလိုဘဲ အချိန်ဇယားဆွဲထားသောအလုပ်များကို ဖန်တီးစီမံနိုင်သည့် အမြင်အာရုံဆိုင်ရာ စီမံခန့်ခွဲမှုမျက်နှာပြင်ကို ပေးဆောင်သည်။

ဤလုပ်ဆောင်ချက်၏ နမူနာအခြေအနေများ-

  • WSL ရှိ distributions များကို ပုံမှန် backup ပြုလုပ်ခြင်း
  • စိတ်ကြိုက် script များ သို့မဟုတ် command များကို လုပ်ဆောင်ခြင်း

အလုပ်အားလုံးကို Windows Task Scheduler ၏ \WSLDashboard\UserTasks\ လမ်းကြောင်းအောက်တွင် စုစည်းထားပြီး၊ ဗဟိုချုပ်ကိုင်မှုဖြင့် ကြည့်ရှုစီမံနိုင်သည်။ သင်သည် မျက်နှာပြင်တွင် အလုပ်အခြေအနေ (အဆင်သင့် / လုပ်ဆောင်နေသည် / ပိတ်ထားသည်) ကို အချိန်နှင့်တပြေးညီ ကြည့်ရှုနိုင်သည်။

Community Script Repository

အောက်ပါ community repository မှ နမူနာ script များ (distribution backup) ကို ဒေါင်းလုဒ်လုပ်၍ လျင်မြန်စွာ စတင်နိုင်ပါသည်:

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

၎င်းသည် အသုံးပြုသူများ ပူးပေါင်းတည်ဆောက်ထားသော code repository တစ်ခုဖြစ်ပါသည်။ Pull Request တင်သွင်းခြင်းဖြင့် script များကို မျှဝေရန် သို့မဟုတ် အကောင်းဆုံးအလေ့အကျင့်များကို မျှဝေရန် ကြိုဆိုပါသည်။

Command လုပ်ဆောင်ခြင်း

Command ဖွဲ့စည်းမှု

အချိန်ဇယားဆွဲထားသောအလုပ်တစ်ခုစီအတွက် လုပ်ဆောင်ရန် command (script သို့မဟုတ် executable) ကို ဖွဲ့စည်းနိုင်ပြီး၊ အောက်ပါရွေးချယ်စရာများကို ပံ့ပိုးပေးသည်-

ဖွဲ့စည်းမှုအမျိုးအစားရှင်းလင်းချက်
Execute Commandလုပ်ဆောင်ရန် script သို့မဟုတ် executable လမ်းကြောင်း။ .bat, .ps1, .cmd, .exe, .py စသည့်ပုံစံများကို ပံ့ပိုးသည်။ "Browse" ခလုတ်မှတစ်ဆင့် ဖိုင်ကိုရွေးချယ်နိုင်သည်။
Command ParametersCommand သို့ ပေးပို့ရန် ထပ်ဆောင်း parameters များ (ချန်လှပ်နိုင်သည်)။
အက်မင်အခွင့်အာဏာများအမှန်ခြစ်ပေးပါက၊ အလုပ်သည် UAC မြှင့်တင်မှုလိုအပ်သောလုပ်ငန်းများအတွက် အမြင့်ဆုံးအခွင့်အာဏာများဖြင့် လုပ်ဆောင်ပါမည်။

အလုပ်လုပ်ဆောင်ချက်များ

အလုပ်တစ်ခုကိုဖန်တီးပြီးနောက်၊ သင်သည် အောက်ပါလုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည်-

လုပ်ဆောင်ချက်ရှင်းလင်းချက်
ချက်ချင်းလုပ်ဆောင်ပါအချိန်ဇယားစည်းမျဉ်းများကို မသက်ဆိုင်ဘဲ အလုပ်ကိုချက်ချင်း အတင်းအကြပ် run ပါ။
ဖွင့်ပါ/ပိတ်ပါအလုပ်၏ အလိုအလျောက်အချိန်ဇယားကို ခေတ္တရပ်နားရန် သို့မဟုတ် ပြန်လည်စတင်ရန်။
ဖျက်ပါTask Scheduler မှ အလုပ်ကိုဖယ်ရှားပါ။

အချိန်ဇယားစည်းမျဉ်းများ

Cron Expression

အလုပ်အချိန်ဇယားဆွဲခြင်းသည် စံ 5-အကွက် Cron Expression ကို အသုံးပြု၍ လုပ်ဆောင်မှုစည်းမျဉ်းများကို သတ်မှတ်ပြီး၊ ပုံစံမှာ အောက်ပါအတိုင်းဖြစ်သည်-

မိနစ် နာရီ ရက် လ ရက်သတ္တပတ်
အကွက်တန်ဖိုးအကွာအဝေးရှင်းလင်းချက်
မိနစ်0 - 59နာရီတိုင်း၏ မည်သည့်မိနစ်တွင် လုပ်ဆောင်ရန်
နာရီ0 - 23နေ့တိုင်း၏ မည်သည့်နာရီတွင် လုပ်ဆောင်ရန်
ရက်1 - 31လတိုင်း၏ မည်သည့်နေ့တွင် လုပ်ဆောင်ရန်
1 - 12နှစ်တိုင်း၏ မည်သည့်လတွင် လုပ်ဆောင်ရန်
ရက်သတ္တပတ်0 - 70 နှင့် 7 နှစ်ခုလုံးသည် တနင်္ဂနွေနေ့ကို ကိုယ်စားပြုသည်

အကွက်တစ်ခုစီသည် အောက်ပါ syntax ကို ပံ့ပိုးသည်-

  • * —— တန်ဖိုးအားလုံးနှင့် ကိုက်ညီသည် (ဥပမာ * * * * * ဆိုသည်မှာ မိနစ်တိုင်း တစ်ကြိမ်လုပ်ဆောင်သည်)
  • */N —— N ယူနစ်တိုင်းတွင် တစ်ကြိမ်လုပ်ဆောင်သည် (ဥပမာ */5 * * * * ဆိုသည်မှာ 5 မိနစ်တိုင်း တစ်ကြိမ်လုပ်ဆောင်သည်)
  • ဂဏန်းတစ်လုံးတည်း —— သတ်မှတ်တန်ဖိုးတစ်ခုနှင့် ကိုက်ညီသည် (ဥပမာ 0 9 * * 1 ဆိုသည်မှာ တနင်္လာနေ့တိုင်း နံနက် 9:00 တွင် လုပ်ဆောင်သည်)

မှတ်ချက်: ကော်မာခြားထားသော တန်ဖိုးများစွာ (1,15 ကဲ့သို့) နှင့် အကွာအဝေး expression များ (1-5 ကဲ့သို့) ကို ပံ့ပိုးမထားပါ။ နောက်ထပ် ကန့်သတ်ချက်များအတွက် အောက်ဖော်ပြပါ သတိပြုရန် ကိုကြည့်ပါ။

ပံ့ပိုးထားသော ပေါင်းစပ်မှုပုံစံများ

ဤဆော့ဖ်ဝဲသည် မူရင်း Cron daemon ကို မလုပ်ဆောင်ဘဲ၊ Cron expression ကို Windows Task Scheduler (schtasks.exe) ၏ trigger parameters များသို့ ဘာသာပြန်ပေးသည်။ တိကျသော mapping အတွက်၊ parser တွင် အောက်ပါ 7 ပေါင်းစပ်မှုပုံစံများ ကိုသာ hardcode လုပ်ထားပြီး ပံ့ပိုးထားကာ၊ ၎င်းတို့သည် အချိန်ဇယားဆွဲထားသောအလုပ်အခြေအနေအများစုကို လွှမ်းခြုံပေးသည်-

#ပုံစံရှင်းလင်းချက်သင့်လျော်သောအခြေအနေ
1* * * * *မိနစ်တိုင်း လုပ်ဆောင်ပါစောင့်ကြည့်ခြင်း၊ အချိန်နှင့်တပြေးညီ ထောက်လှမ်းခြင်းလုပ်ငန်းများ
2*/N * * * *N မိနစ်တိုင်း တစ်ကြိမ်လုပ်ဆောင်ပါအချိန်ကာလအလိုက် စစ်ဆေးခြင်းလုပ်ငန်းများ
3M * * * *နာရီတိုင်း၏ M မိနစ်တွင် လုပ်ဆောင်ပါ (ဥပမာ 3 * * * *)နာရီပိုင်းလုပ်ငန်းများ
4M H * * *နေ့တိုင်း H နာရီ M မိနစ်တွင် လုပ်ဆောင်ပါ (ဥပမာ 0 3 * * *)နေ့စဉ်ထိန်းသိမ်းမှု၊ ဥပမာ နေ့တိုင်း အရုဏ်တက်ချိန်တွင် log များရှင်းလင်းခြင်း
5M H * * DOWရက်သတ္တပတ်တိုင်း သတ်မှတ်ရက်တွင် H နာရီ M မိနစ်၌ လုပ်ဆောင်ပါ (ဥပမာ 0 12 * * 1)အပတ်စဉ်လုပ်ငန်းများ၊ ဥပမာ တနင်္လာနေ့တိုင်း data backup ပြုလုပ်ခြင်း
6M H D * *လတိုင်း သတ်မှတ်ရက်စွဲတွင် H နာရီ M မိနစ်၌ လုပ်ဆောင်ပါလစဉ်လုပ်ငန်းများ၊ ဥပမာ လတိုင်း၏ 1 ရက်နေ့တွင် အစီရင်ခံစာထုတ်ခြင်း
7M H D MON *နှစ်တိုင်း သတ်မှတ်လနှင့်ရက်စွဲတွင် H နာရီ M မိနစ်၌ လုပ်ဆောင်ပါနှစ်စဉ်လုပ်ငန်းများ၊ ဥပမာ သတ်မှတ်လတွင် လုပ်ဆောင်ခြင်း

Expression သည် အထက်ပါ 7 ပုံစံမှ တစ်ခုမှမဟုတ်ပါက၊ system မှ ၎င်းကို Unsupported cron pattern အဖြစ် သတ်မှတ်ပြီး ဖန်တီးရန် ငြင်းပယ်ပါမည်။

သတိပြုရန်

အောက်ခြေတွင် Windows Task Scheduler ကို အခြေခံထားသောကြောင့်၊ ဤဆော့ဖ်ဝဲ၏ Cron parser နှင့် စံ Linux Cron အကြား အောက်ပါကွာခြားချက်များရှိသည်-

1. စာရင်း (,) နှင့် အကွာအဝေး (-) ကို ပံ့ပိုးမထားပါ

စံ Cron သည် ကော်မာဖြင့် သီးခြားအချိန်အမှတ်များစွာကို သတ်မှတ်ခွင့်ပြုသည် (ဥပမာ 1,15,30 * * * * ဆိုသည်မှာ 1၊ 15၊ 30 မိနစ်များ)၊ သို့မဟုတ် တုံးတိုဖြင့် အကွာအဝေးကို သတ်မှတ်ခွင့်ပြုသည် (ဥပမာ 1-5 * * * * ဆိုသည်မှာ 1 မှ 5 မိနစ်အထိ)။

ဤဆော့ဖ်ဝဲ၏ ကန့်သတ်ချက်: အကွက်တစ်ခုစီတွင် ဂဏန်းတစ်လုံးတည်းကြယ်ပွင့် (*) သို့မဟုတ် ခြေလှမ်း (*/N) ကိုသာ ဖြည့်နိုင်ပြီး၊ ကော်မာနှင့် တုံးတိုကို ပံ့ပိုးမထားပါ။

2. လွတ်လပ်စွာ ပေါင်းစပ်မှုကို ပံ့ပိုးမထားပါ

စံ Cron သည် မည်သည့်အကွက်ကိုမဆို လွတ်လပ်စွာ ပေါင်းစပ်ခွင့်ပြုသည် (ဥပမာ * 3 * * * ဆိုသည်မှာ နေ့တိုင်း မနက် 3 နာရီ၏ မိနစ်တိုင်း)၊ သို့သော် ဤဆော့ဖ်ဝဲသည် အထက်တွင်ဖော်ပြထားသော ပုံသေ 7 ပုံစံကိုသာ ပံ့ပိုးပြီး၊ ဤအကွာအဝေးပြင်ပရှိ expression များကို ငြင်းပယ်ပါမည်။

3. ခြေလှမ်းပုံစံ၏ အချိန်ညှိမှု ကွာခြားချက်

စံ Cron တွင်၊ */5 * * * * သည် နာရီ၏ 0၊ 5၊ 10၊ 15... မိနစ်များနှင့် တင်းကျပ်စွာ ညှိထားသည်။ ဤဆော့ဖ်ဝဲသည် ၎င်းကို Windows ၏ /SC MINUTE /MO 5 parameter သို့ ဘာသာပြန်ပြီး၊ Windows ၏ လုပ်ဆောင်ချက်ယုတ္တိမှာ အလုပ်ကို ဖန်တီးခြင်း သို့မဟုတ် စတင်အသုံးပြုသည့် အချိန်မှစ၍ ကြားကာလကို တွက်ချက်ခြင်း ဖြစ်သည်။

ဥပမာအားဖြင့်၊ သင်သည် 10:02 တွင် 5 မိနစ်တိုင်းလုပ်ဆောင်သောအလုပ်ကို သိမ်းဆည်းပြီး စတင်အသုံးပြုပါက၊ ၎င်းသည် ပထမဆုံး 10:07 တွင် လုပ်ဆောင်မည်ဖြစ်ပြီး၊ ထို့နောက် 10:12 တွင် လုပ်ဆောင်ကာ၊ စံနာရီ၏ 10:05 နှင့် ညှိမည်မဟုတ်ပါ။