ဆောင်းပါးလမ်းညွှန်
သင့်ရဲ့ Linux စနစ်မှာ အချိန်ဇယားဆွဲထားတဲ့ အလုပ်တွေကို configure လုပ်ဖို့ "cron" ဒါမှမဟုတ် "crond" ဘယ်ဟာကို သုံးရမှန်းမသိ ဖြစ်နေလား ။
တကယ်တော့၊ လူအများက "ဒီနှစ်ယောက် ဘာကွာခြားလဲ" လို့ တွေးနေကြပါတယ် - သူတို့က အမွှာတွေလို ထင်ရပေမယ့် အနီးကပ်ကြည့်လိုက်ရင် သူတို့ကြားမှာ သိမ်မွေ့ပေမယ့် အရေးကြီးတဲ့ ကွာခြားချက်တွေ ရှိပါတယ်။
ဤဆောင်းပါးသည် သင့်အား ၎င်းတို့၏ထူးခြားသောအင်္ဂါရပ်များနှင့် လုပ်ဆောင်မှုဆိုင်ရာမူများကို နက်ရှိုင်းစွာ ပြောပြပါမည်။
cron ဆိုတာဘာလဲ။
cron ဆိုတဲ့ နာမည်နဲ့ စလိုက်ရအောင် ၊ ခင်ဗျား ရင်းနှီးပြီးသား ဖြစ်မှာပါ။
cron သည် အမှန်တကယ် အစုအဝေးတစ်ခုဖြစ်သည်။ စီစဉ်ထားသော အလုပ်ချိန်ဇယားစနစ်ဂရိအရင်းမြစ်မှဆင်းသက်သောအမည် "chronos"အချိန်လို့ အဓိပ္ပါယ်ရပါတယ်။
cron စနစ်သည် Linux စနစ်များအတွက် အချိန်ဇယားဆွဲထားသော task generator တစ်ခုဖြစ်ပြီး သတ်မှတ်ထားသော အလုပ်များကို သတ်မှတ်ထားသောအချိန်များတွင် အလိုအလျောက် လုပ်ဆောင်ရန် အသုံးပြုသည်။
ဥပမာအားဖြင့်၊ နံနက်တိုင်းတွင် အရန် script များကို လုပ်ဆောင်ရန် အချိန်ဇယားဆွဲနိုင်ပြီး စနစ်အခြေအနေကို နာရီတိုင်း စစ်ဆေးခြင်း စသည်တို့ကို ပြုလုပ်နိုင်သည်။

cron core လုပ်ဆောင်နိုင်စွမ်း
cron ရဲ့ အဓိကလုပ်ဆောင်ချက်ကတော့ စနစ်တာဝန်တွေကို စီမံခန့်ခွဲခြင်းနဲ့ လုပ်ဆောင်ခြင်းကို အလိုအလျောက်လုပ်ဆောင်ခြင်းဖြစ်ပြီး၊ အဲဒီတာဝန်တွေကို " အချိန်ဇယားဆွဲထားတဲ့ တာဝန်တွေ " ဒါမှမဟုတ် "စီစဉ်ထားတဲ့ တာဝန်တွေ" လို့ မကြာခဏရည်ညွှန်းလေ့ရှိပါတယ်။
cron စနစ်သည် task schedule များနှင့် command lists များပါရှိသော crontab ဖိုင်များ (cron table များ) ကို ဖတ်သည်။ Cron သည် crontab ဖိုင်ရှိ setting များအလိုက် အချိန်ဇယားဆွဲထားသော အချိန်များတွင် ဤ task များကို အလိုအလျောက် လုပ်ဆောင်လိမ့်မည်။
အတိုချုပ်ပြောရရင် cron ဟာ အချိန်ဇယားဆွဲထားတဲ့ အလုပ်တွေရဲ့ "စီစဉ်သူ" ဖြစ်ပြီး အလုပ်အားလုံးအတွက် အချိန်ဇယားသတ်မှတ်ဖို့ တာဝန်ရှိပါတယ်။
crontab အမိန့်ကိုသုံးပါ။
Linux စနစ်များတွင် cron စနစ် ပါဝင်သည်။ crontab စီမံခန့်ခွဲရန် အမိန့်ပေးသည်။ ဖြတ်သန်းပါ။ crontab ညွှန်ကြားချက်များ၊ သင်ထည့်သွင်းရန်၊ တည်းဖြတ်ရန်နှင့် စီစဉ်ထားသည့်လုပ်ဆောင်စရာများကို ဖျက်နိုင်သည်။
အသုံးပြုသည် crontab -e တည်းဖြတ်မုဒ်သို့ ဝင်ရောက်ရန် အမိန့်ပေးခြင်း၊ သင်သည် cron ဇယားတွင် သင်လုပ်ဆောင်လိုသော အလုပ်များကို ထည့်သွင်းနိုင်သည်၊ ဖော်မတ်မှာ အောက်ပါအတိုင်းဖြစ်သည်-
* * * * * /path/to/command
"*" သင်္ကေတတစ်ခုစီသည် မိနစ်၊ နာရီ၊ နေ့များ၊ လများနှင့် ရက်သတ္တပတ်များကဲ့သို့ မတူညီသော အချိန်ယူနစ်ကို ကိုယ်စားပြုသည်။ ဤအချိန်ဖွဲ့စည်းပုံများဖြင့်၊ အလုပ်များကိုလုပ်ဆောင်သည့်အခါ သင်ထိန်းချုပ်နိုင်သည်။
ခရွန်ဆိုတာဘာလဲ။
cron ရဲ့ သဘောတရားကို နားလည်ပြီးတဲ့အခါ crond ကို ကြည့်ကြရအောင် ။ ဒါက cron စနစ်ရဲ့ "မသိရတဲ့ သူရဲကောင်း" ပါ။
crond သည် cron စနစ်၏ daemon ဖြစ်သည် ။ ၎င်းသည် background တွင် အဆက်မပြတ်လည်ပတ်နေသော program တစ်ခုဖြစ်ပြီး၊ system time ကို စောင့်ကြည့်ခြင်းနှင့် cron စနစ်မှ သတ်မှတ်ထားသော task များကို လုပ်ဆောင်ခြင်းအတွက် တာဝန်ရှိသည်။
Crond ၏တာဝန်များ
စနစ်စတင်ပြီး နောက်ခံတွင် အမြဲတမ်းလည်ပတ်နေသည့်အခါ crond လုပ်ငန်းစဉ်သည် အလိုအလျောက်စတင်မည်ဖြစ်ပြီး ၎င်း၏တစ်ခုတည်းသောတာဝန်မှာ သတ်မှတ်ထားသည့်အချိန်တွင် crontab ဖိုင်ရှိ အလုပ်များကို လုပ်ဆောင်ရန်ဖြစ်သည်။
အတိုချုပ်ပြောရလျှင် crond သည် cron စနစ်၏ "executor" ဖြစ်သည် ။
crond လုပ်ငန်းစဉ်မရှိဘဲ၊ cron စနစ်သည် စီစဉ်ထားသည့်အလုပ်များကို လုပ်ဆောင်နိုင်စွမ်း ဆုံးရှုံးသွားမည်ဖြစ်သည်။
Linux စနစ်များတွင် crond လုပ်ငန်းစဉ်ကို စစ်ဆေးရန် အောက်ပါ command ကို အသုံးပြုနိုင်ပါသည်။
ps -ef | grep crond
crond လုပ်ငန်းစဉ် မလည်ပတ်ပါက၊ စီစဉ်ထားသည့် အလုပ်များအားလုံးကို လုပ်ဆောင်မည်မဟုတ်ပါ။ ထို့ကြောင့် crond လုပ်ငန်းစဉ်ကို ပုံမှန်အတိုင်းလည်ပတ်နေရန် အရေးကြီးပါသည်။
cron နှင့် crond ကြားဆက်ဆံရေး- ဝန်ဆောင်မှုများနှင့် စီမံအုပ်ချုပ်သူများ
cron နှင့် crond အကြား ဆက်နွယ်မှုကို ပိုမိုနားလည်ရန်အတွက် လက်တွေ့ဘဝ ဥပမာ တစ်ခုကို အသုံးပြုနိုင်ပါသည် ။
ဒါကို မြင်ယောင်ကြည့်ပါ- "Xiaohongshu" ( Little Red Book ) လို့ခေါ်တဲ့ အက်ပ်တစ်ခု ရှိပါတယ် ၊ အဲဒါက အသုံးပြုသူတွေကို သတ်မှတ်ထားတဲ့အချိန်တွေမှာ အကြောင်းအရာတွေကို ကြည့်ရှုပြီး တင်ခွင့်ပြုတဲ့ ကြီးမားတဲ့ စနစ်တစ်ခုပါ။
ဤအပလီကေးရှင်း၏နောက်ကွယ်တွင်၊ နောက်ခံအကြောင်းအရာကိုအလိုအလျောက်ထုတ်ဝေရန်တာဝန်ရှိသော "Xiaohong Guardian" ဟုခေါ်သောပရိုဂရမ်တစ်ခုရှိသည်။
cron သည် "စာအုပ်နီလေး" နှင့်တူပြီး cron သည် "အနီအုပ်ထိန်းသူ" ဖြစ်သည်။
cron နှင့် crond အကြား ခြားနားချက်ကို အကျဉ်းချုပ်ရန်-
- cron: အလုပ်အချိန်ဇယားများကို ရေးဆွဲခြင်းနှင့် စီမံခန့်ခွဲခြင်းအတွက် တာဝန်ရှိပြီး စီစဉ်ထားသော အလုပ်အချိန်ဇယားဆွဲခြင်း၏ "ဦးနှောက်" ဖြစ်သည်။
- cron: နောက်ခံ daemon လုပ်ငန်းစဉ်သည် အချိန်ဇယားဆွဲထားသော အလုပ်များ၏ "executor" ဖြစ်ပြီး cron table ရှိ အချိန်ဇယားအတိုင်း အလုပ်များကို လုပ်ဆောင်သည်။
ဤနည်းဖြင့်ကြည့်လျှင် cron သည် အလုံးစုံစနစ်ဖြစ်ပြီး၊ crond သည် system ပေါ်ရှိ အလုပ်များကို လုပ်ဆောင်သည့် လုပ်ငန်းစဉ်ဖြစ်သည်။
crontab ဖိုင်- cron အလုပ်စာရင်း
cron စနစ်သည် crontab ဖိုင်များကို အကောင်အထည်ဖော်ရန် အားကိုးနေရပြီး ၎င်းတို့သည် cron စနစ်မှ လုပ်ငန်းတာဝန်အချိန်ဇယားများကို သိမ်းဆည်းသည့်နေရာများဖြစ်သည်။
အသုံးပြုသူတိုင်း ( root အသုံးပြုသူ အပါအဝင်) သည် ၎င်း၏ကိုယ်ပိုင်စီစဉ်ထားသော လုပ်ဆောင်စရာများကို စီမံခန့်ခွဲရန်အတွက် သီးခြားလွတ်လပ်သော crontab ဖိုင်ရှိနိုင်ပါသည်။
သုံးနိုင်တယ်။ crontab -l လက်ရှိအသုံးပြုသူ၏ လုပ်ငန်းဆောင်တာစာရင်းကို ကြည့်ရှုရန် သို့မဟုတ် အသုံးပြုရန် အမိန့်ပေးသည်။ crontab -e အလုပ်တစ်ခုကို တည်းဖြတ်ရန်။
crontab ဖိုင်အထားအသို
crontab ဖိုင်တွင်၊ စာကြောင်းတစ်ခုစီသည် အလုပ်တစ်ခုကို ကိုယ်စားပြုပြီး စာကြောင်းတစ်ခုစီ၏ ဖော်မတ်မှာ အောက်ပါအတိုင်းဖြစ်သည်-
分钟 小时 日期 月份 星期 命令
ဥပမာအားဖြင့်၊ အောက်ပါတာဝန်သည် နေ့စဉ် နံနက် ၂ နာရီတွင် အရန် script ကို လုပ်ဆောင်ခြင်းကို ကိုယ်စားပြုသည်-
0 2 * * * /usr/local/bin/backup.sh
ဤရိုးရှင်းသောဥပမာသည် cron စနစ်၏ အစွမ်းထက်သော အလိုအလျောက်လုပ်ဆောင်နိုင်စွမ်းများကို ဖော်ပြသည်။
cron နှင့် crond - ၎င်းတို့၏ နောက်ကွယ်မှ ပူးပေါင်းဆောင်ရွက်မှု
စနစ်၏ လက်တွေ့လုပ်ဆောင်မှုတွင် cron နှင့် crond သည် ခွဲခြား၍မရပေ။ cron သည် အလုပ်အချိန်ဇယားများကို ဖန်တီးခြင်းနှင့် စီမံခန့်ခွဲခြင်းအတွက် တာဝန်ရှိပြီး crond သည် အချိန်ကို စဉ်ဆက်မပြတ် စောင့်ကြည့်နေပြီး သတ်မှတ်ထားသည့်အချိန်တွင် လုပ်ဆောင်စရာများကို လုပ်ဆောင်ကြောင်း သေချာစေသည်။
စနစ်အချိန်သည် ကြိုတင်သတ်မှတ်ထားသည့်အလုပ်အချိန်သို့ရောက်ရှိသည့်အခါတိုင်း၊ crond သည် "နိုးထသည်" နှင့် အလုပ်အား လုပ်ဆောင်မည်ဖြစ်သည်။
အဘယ်ကြောင့်ကျွန်ုပ်တို့သည် crond daemon လိုအပ်သနည်း။
crond တည်ရှိမှုသည် အလုပ်များကို အချိန်မီ လုပ်ဆောင်ကြောင်း သေချာစေသည် ၊ ၎င်းသည် စနစ်စတင်ပြီး ဆက်လက်လည်ပတ်နေချိန်တိုင်း အလိုအလျောက်စတင်မည်ဖြစ်သည်။
crond လည်ပတ်မှုရပ်သွားပါက၊ cron စနစ်ရှိ လုပ်ဆောင်စရာများအားလုံး လုပ်ဆောင်နိုင်မည်မဟုတ်ပေ။ ထို့ကြောင့်၊ crond daemon ၏ပုံမှန်လည်ပတ်မှုသည် system ၏အလိုအလျောက်စီမံခန့်ခွဲမှုအတွက်အရေးကြီးပါသည်။
နေ့စဉ်စနစ်စီမံခန့်ခွဲမှုတွင် အက်ပ်လီကေးရှင်းအခြေအနေများ
cron နှင့် crond ပေါင်းစပ်ခြင်းကို အထူးသဖြင့် ဆာဗာပတ်ဝန်းကျင်များတွင် စနစ်စီမံခန့်ခွဲမှုတွင် တွင်ကျယ်စွာအသုံးပြုသည်။ အောက်ပါတို့သည် ပုံမှန်အပလီကေးရှင်းအခြေအနေအချို့ဖြစ်သည်။
- အလိုအလျောက် အရန်သိမ်းခြင်း။: cron မှတဆင့်၊ သင်သည် ဒေတာကို နေ့စဉ် သို့မဟုတ် အပတ်တိုင်း ပုံမှန်အရန်ကူးရန် ဆာဗာကို အချိန်ဇယားဆွဲနိုင်သည်။
- အလိုအလျောက် သန့်ရှင်းရေး− ဆာဗာဒစ်နေရာအား ပြည့်သွားခြင်းမှ ကာကွယ်ရန် မှတ်တမ်းဖိုင်များကို ပုံမှန်သန့်ရှင်းရေးပြုလုပ်ခြင်းကို စနစ်ထည့်သွင်းပါ။
- စောင့်ကြည့်ခြင်းနှင့် ထိတ်လန့်စရာ− cron မှတဆင့် စနစ်ကျန်းမာရေးစစ်ဆေးမှုများကို ပုံမှန်လုပ်ဆောင်ပြီး မူမမှန်မှုများတွေ့ရှိပါက သတိပေးအီးမေးလ်များ ပေးပို့ပါ။
cron နှင့် crond အကြား နားလည်မှုလွဲမှားမှုများ- အမေးများသောမေးခွန်းများနှင့် အဖြေများ
အဘယ်ကြောင့် cron တာဝန်ကို မလုပ်ဆောင်ရသနည်း။
၎င်းတို့သတ်မှတ်ထားသည့် cron အလုပ်များကို မျှော်လင့်ထားသည့်အတိုင်း လုပ်ဆောင်မည်မဟုတ်ကြောင်း အကြောင်းရင်းများတွင် အောက်ပါတို့ပါဝင်နိုင်သည် ။
- crond လုပ်ငန်းစဉ် မစတင်ပါ။ကျေးဇူးပြု၍ crond ပုံမှန်အတိုင်းလည်ပတ်နေကြောင်း သေချာပါစေ။
- လုပ်ဆောင်စရာ ဖွဲ့စည်းမှု အမှားအယွင်း− crontab ဖိုင်၏ syntax မှန်ကန်မှုရှိမရှိ စစ်ဆေးပါ။
- လမ်းကြောင်းပြဿနာ: သတ်မှတ်ထားသော အမိန့်နှင့် ဇာတ်ညွှန်းလမ်းကြောင်းများ မှန်ကန်ကြောင်း သေချာပါစေ။
Crond လုပ်ငန်းစဉ်ကို ဘယ်လိုပြန်စရမလဲ။
crond လုပ်ငန်းစဉ် မူမမှန်ပါက၊ ၎င်းကို ပြန်လည်စတင်ရန် အောက်ပါ command ကို အသုံးပြုနိုင်သည်။
sudo service crond restart
လုပ်ဆောင်စရာများအားလုံး ပုံမှန်အတိုင်းလည်ပတ်ကြောင်း သေချာစေရန် ဤအမိန့်သည် crond ဝန်ဆောင်မှုကို ပြန်လည်စတင်မည်ဖြစ်သည်။
နိဂုံးချုပ်- cron နှင့် crond ၏ မရှိမဖြစ်လိုအပ်မှု
cron နှင့် crond အကြား ပြီးပြည့်စုံသော ပူးပေါင်းဆောင်ရွက်မှုသည် Linux စနစ်အား လူသားဝင်ရောက်စွက်ဖက်မှုမရှိဘဲ အလုပ်များကို အလိုအလျောက်လုပ်ဆောင်နိုင်စေပြီး၊ စနစ်၏ အလိုအလျောက်စီမံခန့်ခွဲနိုင်မှုစွမ်းရည်များကို များစွာတိုးတက်စေပါသည်။
cron သည် အစီအစဉ်များပြုလုပ်ရန် အချိန်ဇယားဆွဲသည့်စနစ်အဖြစ် လုပ်ဆောင်ပြီး crond သည် အလုပ်များကိုလုပ်ဆောင်ရန်အတွက် တာဝန်ရှိသည့် daemon လုပ်ငန်းစဉ်တစ်ခုအဖြစ် လုပ်ဆောင်သည်။
၎င်းတို့နှစ်ဦးသည် တစ်ခုနှင့်တစ်ခု အားဖြည့်ပြီး အားကောင်းပြီး လိုက်လျောညီထွေရှိသော အလိုအလျောက် အလုပ်စီမံခန့်ခွဲမှုစနစ်ကို ပူးတွဲတည်ဆောက်သည်ဟု ဆိုနိုင်သည်။
နေ့စဉ်အသုံးပြုမှုတွင်၊ cron နှင့် crond တို့၏ ခြားနားချက်များနှင့် အပလီကေးရှင်းများကို ကျွမ်းကျင်အောင်ပြုလုပ်ခြင်းက ဆာဗာစီမံခန့်ခွဲမှုတွင် ပိုမိုသက်တောင့်သက်သာဖြစ်စေပြီး ပိုမိုထိရောက်သောလုပ်ဆောင်ချက်များကို ရရှိစေမည်ဖြစ်သည်။
အနာဂတ်တွင်၊ သင်၏စနစ်စီမံခန့်ခွဲမှုလုပ်ငန်းစဉ်ကို ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်ရန်နှင့် အလိုအလျောက်လုပ်ဆောင်ရန် cron စနစ်၏ အဆင့်မြင့်အသုံးပြုမှုအကြောင်း ပိုမိုလေ့လာနိုင်ပါသည်။
cron နှင့် crond တို့သည် Linux စီမံခန့်ခွဲသူတိုင်းရှိရမည့် မိတ်ဖက်ကောင်းများဖြစ်ကြသည်မှာ သေချာပါသည်။
Chen Weiliang ရဲ့ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မှာ မျှဝေထားတဲ့ "cron နဲ့ crond ဘာကွာခြားလဲ။ သူတို့ရဲ့ လုပ်ဆောင်ချက်အမျိုးမျိုးရဲ့ လျှို့ဝှက်ချက်တွေကို ၁ မိနစ်အတွင်း နားလည်ပါ" ဆိုတဲ့ ဆောင်းပါးက သင့်အတွက် အထောက်အကူဖြစ်လိမ့်မယ်လို့ မျှော်လင့်ပါတယ်။
ဒီဆောင်းပါးလင့်ခ်ကို မျှဝေပေးဖို့ မတွန့်ဆုတ်ပါနဲ့- https://www.chenweiliang.com/cwl-32188.html
