Cron ကိုနားလည်ခြင်းနှင့်အသုံးပြုခြင်း- အလုပ်များစီစဉ်ခြင်းအတွက်ပြည့်စုံသောလမ်းညွှန်
chronတိုတောင်းသည် command ကိုအွန်လိုင်းတွင် run ပါ။Unix ကဲ့သို့သော လည်ပတ်မှုစနစ်များတွင် အစွမ်းထက်သော အချိန်အခြေခံ အလုပ်စီစဉ်သူဖြစ်သည်။ ဝေါဟာရ cron စကားလုံးပေါ်တွင် ပြဇာတ်တစ်ခုဖြစ်သည်။ kronos or chronosဂရိဒဏ္ဍာရီတွင် အချိန်ကိုကိုယ်စားပြုသည်။ အချိန်အခြေခံ အလုပ်စီစဉ်သူအတွက် အမည် cron သည် သတ်မှတ်ထားသော အချိန်များ သို့မဟုတ် ကြားကာလများတွင် အလုပ်များကို အချိန်ဇယားဆွဲခြင်းနှင့် လုပ်ဆောင်ခြင်းဆိုင်ရာ ၎င်း၏လုပ်ဆောင်ချက်ကို ထင်ဟပ်စေပြီး ၎င်းသည် ဒဏ္ဍာရီပုံပြင်များတွင် အချိန်၏သဘောတရားကို သင့်လျော်သောရည်ညွှန်းချက်ဖြစ်စေသည်။
Cron သည် သင့်အား ထပ်ခါတလဲလဲ လုပ်ဆောင်စရာများကို အလိုအလျောက်လုပ်ဆောင်ရန်၊ သီးခြားအချိန်များတွင် script များကို လုပ်ဆောင်ရန်နှင့် စနစ်၏စွမ်းဆောင်ရည်ကို ထိန်းသိမ်းနိုင်စေပါသည်။ ဤပြည့်စုံသောလမ်းညွှန်ချက်သည် cron အကြောင်း၊ တပ်ဆင်မှုမှအသုံးပြုမှုအထိ၊ သော့ဝေါဟာရနှင့် အစစ်အမှန်ကုဒ်နမူနာများအကြောင်း သိလိုသမျှကို လမ်းညွှန်ပေးမည်ဖြစ်ပါသည်။
မာတိကာ
- cron ဆိုတာဘာလဲ။
- Cron တပ်ဆင်ခြင်း။
- အခြေခံသဘောတရားများနှင့် ဝေါဟာရများ
- Cron Syntax
- နမူနာများနှင့် အသုံးပြုပုံများ
- အဖြစ်များသော အခက်အခဲများနှင့် အကောင်းဆုံးအလေ့အကျင့်များ
- ခရိုွန်အရင်းအမြစ်များ
Cron ဆိုတာဘာလဲ။
Cron သည် Linux နှင့် macOS အပါအဝင် Unix-based စနစ်များပေါ်တွင်လည်ပတ်သည့် daemon (နောက်ခံလုပ်ငန်းစဉ်) ဖြစ်သည်။ ၎င်း၏အဓိကရည်ရွယ်ချက်မှာ စီစဉ်ထားသည့်အလုပ်များကို အလိုအလျောက်လုပ်ဆောင်ရန်ဖြစ်သည်။ ဤလုပ်ဆောင်စရာများသည် ရိုးရှင်းသော script များမှ စနစ်ထိန်းသိမ်းမှုနှင့် အရန်သိမ်းဆည်းမှုများအထိ အမျိုးမျိုးရှိနိုင်ပါသည်။
Cron တပ်ဆင်ခြင်း။
Unix-like စနစ်အများစုတွင် cron ကို ကြိုတင်ထည့်သွင်းထားသည်။ terminal ကိုဖွင့်ပြီး စာရိုက်ခြင်းဖြင့် ၎င်း၏ရရှိနိုင်မှုကို စစ်ဆေးနိုင်သည်-
crontab -e
ဤ command သည် cron table editor ကိုဖွင့်ပါက၊ သင်သည် cron ထည့်သွင်းပြီးဖြစ်သည်။ မဟုတ်ပါက၊ သင့်စနစ်၏ ပက်ကေ့ဂျ်မန်နေဂျာကို အသုံးပြု၍ ၎င်းကို ထည့်သွင်းနိုင်သည်။ ဥပမာအားဖြင့် Ubuntu တွင်၊ သင်အသုံးပြုနိုင်သည်-
sudo apt-get install cron
Cron အယူအဆများနှင့် ဝေါဟာရများ
cron အသုံးပြုမှုတွင် မပါဝင်မီ၊ မရှိမဖြစ်လိုအပ်သော သဘောတရားများနှင့် ဝေါဟာရအချို့ကို နားလည်ကြပါစို့။
- ကွမ်းခြံကုန်းတိုတောင်းသည် cron ဇယား၎င်းသည် အသုံးပြုသူအတွက် စီစဉ်ထားသည့် အလုပ်များစာရင်းပါရှိသော ဖိုင်တစ်ခုဖြစ်သည်။
- Cronjob- တိကျသောအချိန်တစ်ခုတွင် လုပ်ဆောင်ရန် စီစဉ်ထားသည့် အလုပ်တစ်ခု သို့မဟုတ် အမိန့်တစ်ခု။
- လယ်ကွင်းများ- cronjob တစ်ခုစီတွင် အလုပ်လည်ပတ်သည့်အခါ သတ်မှတ်သည့် နယ်ပယ်ငါးခု ရှိသည်။
- မိနစ် (0-59)
- (၀၂-၁၂)နာရီ၊
- (၁-၃၁)ရက်၊
- လ (၀၂-၁၄)၊
- ရက်သတ္တပတ်၏နေ့ (၀-၇၊ ၀ နှင့် ၇ နှစ်ခုစလုံးသည် တနင်္ဂနွေနေ့ကိုကိုယ်စားပြုသည်)
Cron Syntax
crontab entry ၏ syntax ကို နားလည်ရန် အရေးကြီးပါသည်။ ၎င်းသည် ပုံစံအတိုင်းဖြစ်သည်-
* * * * * command-to-be-executed
ဤသည်မှာ သင်၏ cron အလုပ်တွင် ထည့်သွင်းနိုင်သည့် မှတ်ချက်ပေးထားသော ရှင်းလင်းချက်ဖြစ်သည်-
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
ခရေပွင့် (*) တစ်ခုစီသည် cron expression ရှိ အကွက်တစ်ခုကို ကိုယ်စားပြုသည်။ ဥပမာအားဖြင့်၊ နေ့စဥ် ညနေ ၃း၃၀ နာရီတွင် အလုပ်တစ်ခုစီစဉ်ရန်၊ သင်အသုံးပြုသည်-
30 15 * * * command-to-be-executed
Cron နမူနာများနှင့် အသုံးပြုပုံများ
cron အသုံးပြုမှုကို ဖော်ပြရန်အတွက် လက်တွေ့နမူနာအချို့ကို လေ့လာကြည့်ကြပါစို့။
- Script တစ်ခုကို နေ့စဉ် လုပ်ဆောင်နေသည်- နေ့စဥ် သန်းခေါင်ယံအချိန်တွင် script ကိုလုပ်ဆောင်ရန်၊ သင်အသုံးပြုနိုင်သည်-
0 0 * * * /path/to/script.sh
- Script တစ်ခုကို နာရီတိုင်း လုပ်ဆောင်နေသည်- တစ်နာရီအလုပ်အတွက်၊ အသုံးပြုရန်-
0 * * * * /path/to/script.sh
- အပတ်စဉ် အရန်သိမ်းဆည်းခြင်း- အပတ်စဉ် တနင်္ဂနွေနေ့များတွင် နံနက် ၂ နာရီတွင် အရန်ကူးယူရန် အချိန်ဇယားဆွဲရန်၊ အသုံးပြုပါ-
0 2 * * 0 /path/to/backup-script.sh
- သတ်မှတ်ထားသောလများတွင် အလုပ်တစ်ခုလုပ်ဆောင်ခြင်း- ဇန်န၀ါရီလနှင့်ဇူလိုင်လ 8:30 AM တွင်သာ အလုပ်ခန့်အပ်ရန်။
30 8 * 1,7 * /path/to/script.sh
Cron Pitfalls နှင့် အကောင်းဆုံးအလေ့အကျင့်များ
- environment Variables ကို: cron အလုပ်များသည် သင့် shell ၏ပတ်ဝန်းကျင် variable များကိုအမွေမခံရသောကြောင့် သင့် cron အလုပ်များသည် လိုအပ်သောပတ်ဝန်းကျင် variable များကိုသတ်မှတ်ထားကြောင်းသေချာပါစေ။
- ခွင့်ပြုချက်: သင်၏ script ဖိုင်တွင် ခွင့်ပြုချက်များကို executable အဖြစ် သတ်မှတ်ကြောင်း သေချာပါစေ။ ကျွန်ုပ်၏ ဇာတ်ညွှန်းကို ပြန်လည်သိမ်းဆည်းသည့်အခါတိုင်း၊ ကျွန်ုပ်၏ခွင့်ပြုချက်များကို ထပ်မံသတ်မှတ်ရန် လိုအပ်သည်ကို ကျွန်ုပ်တွေ့ရှိပါသည်။
- လမ်းကြောင်းပြောင်းလွဲမှုများ: ဆွေမျိုးလမ်းကြောင်းများနှင့် ပြဿနာများကို ရှောင်ရှားရန် သင့် cron အလုပ်များအတွင်း လုပ်ဆောင်နိုင်သော လမ်းကြောင်းနှင့် script များဆီသို့ လမ်းကြောင်းအပြည့်အစုံကို သတ်မှတ်ပါ။
- ဘာသာပြန်အတွက် စမ်းသပ်ခြင်း: ၎င်းတို့ မျှော်လင့်ထားသည့်အတိုင်း အလုပ်လုပ်ကြောင်း သေချာစေရန် အရေးကြီးသော cron အလုပ်များကို မသတ်မှတ်မီ ၎င်းတို့ကို ဘေးကင်းသော ပတ်ဝန်းကျင်တွင် စမ်းသပ်ပါ။
- သစ်ထုတ်လုပ်ရေး: သင်၏ cron အလုပ်များ၏ ရလဒ်ကို ၎င်းတို့၏ လုပ်ဆောင်မှုနှင့် ဖြစ်နိုင်ချေရှိသော အမှားအယွင်းများကို ခြေရာခံရန် မှတ်တမ်းဖိုင်သို့ ပြန်ညွှန်းပါ။
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
ဤ cron အလုပ်သည် script တစ်ခုလုပ်ဆောင်သည်။ /path/to/script.sh
နေ့စဉ် သန်းခေါင်ယံအချိန်တွင်၊ script မှထုတ်ပေးသော output (stdout နှင့် stderr နှစ်ခုလုံး) ကို log file တွင်ထည့်သွင်းထားသည်။
/path/to/cron.log
. စောင့်ကြည့်ခြင်းနှင့် ပြဿနာဖြေရှင်းခြင်းဆိုင်ရာ ရည်ရွယ်ချက်များအတွက် cron အလုပ်များ၏ ရလဒ်ကို ဖမ်းယူပြီး မှတ်တမ်းရယူရန် ဘုံအလေ့အကျင့်တစ်ခုဖြစ်သည်။ ဤတိကျသော cron အလုပ် syntax ကို ခွဲကြည့်ကြပါစို့။ - *0 0 * * *: ဤအပိုင်းသည် cron အလုပ်မည်သည့်အချိန်အတွက် အချိန်ဇယားကို သတ်မှတ်သည်။ ဤကိစ္စတွင်၊ ၎င်းကို နေ့စဉ် သန်းခေါင်ယံတွင် (၀ မိနစ်မှ ၀ နာရီအထိ) လည်ပတ်ရန် စီစဉ်ထားသည်။
- /path/to/script.sh: ဤသည်မှာ cron အလုပ်လည်ပတ်သောအခါတွင် လုပ်ဆောင်ရန် အမိန့် သို့မဟုတ် script ဖြစ်သည်။ ဤဥပမာတွင်ရှိသော script ကိုပြသည်။
/path/to/script.sh
. - >> /path/to/cron.log: ဤအပိုင်းသည် cron အလုပ်၏ standard output (stdout) ကို အမည်ရှိ မှတ်တမ်းဖိုင်သို့ ပြန်ညွှန်းသည်။
cron.log
မှာတည်ရှိပါတယ်/path/to/
။ အဆိုပါ>>
အော်ပရေတာသည် မှတ်တမ်းဖိုင်တွင် အထွက်ကို ထပ်ဖြည့်ပေးသည်၊ ထို့ကြောင့် ဖိုင်မရှိပါက၊ ၎င်းကို ဖန်တီးမည်ဖြစ်ပြီး ၎င်းသည် ရှိပြီးသားဖြစ်ပါက ဖိုင်၏အဆုံးတွင် အထွက်ကို ပေါင်းထည့်မည်ဖြစ်သည်။ - 2> & 1: ၎င်းကို စံအထွက် (stdout) နှင့် စံအမှား (stderr) နှစ်ခုလုံးကို တူညီသောမှတ်တမ်းဖိုင်သို့ ပြန်ညွှန်းရန်အတွက် အသုံးပြုသည်။ ဟိ
2
stderr ကို ကိုယ်စားပြုပြီး အဆိုပါ1
stdout ကိုကိုယ်စားပြုသည်။ ဒီတော့၊2>&1
stdout နှင့် stderr နှစ်ခုလုံးကို စောစောက သတ်မှတ်ထားသော တူညီသော log file သို့ ပြန်ညွှန်းသည်ဟု ဆိုလိုသည်။
Cron သည် Unix-based စနစ်များတွင် လုပ်ဆောင်စရာများကို အလိုအလျောက်လုပ်ဆောင်ရန်အတွက် အဖိုးတန်ကိရိယာတစ်ခုဖြစ်သည်။ ၎င်း၏ပြောင်းလွယ်ပြင်လွယ် အချိန်ဇယားဆွဲခြင်းရွေးချယ်မှုများဖြင့်၊ ၎င်းသည် စနစ်စီမံခန့်ခွဲမှုကို ရိုးရှင်းစေပြီး စွမ်းဆောင်ရည်ကို တိုးတက်စေနိုင်သည်။ ၎င်း၏ syntax ကိုနားလည်ပြီး အကောင်းဆုံးအလေ့အကျင့်များကို လိုက်နာခြင်းဖြင့်၊ သင်သည် သင်၏လုပ်ရိုးလုပ်စဉ်အလုပ်များကို ထိရောက်စွာ အလိုအလျောက်လုပ်ဆောင်ရန် cron ၏စွမ်းအားကို အသုံးချနိုင်သည်။
နောက်ထပ် Cron အရင်းအမြစ်များ
- Unix Daemon - ဒင်း Wilson