លូស៊ីន សាធារណៈ មួយខណៈពេលមុន ការបង្រៀនដ៏ល្អបំផុតស្តីអំពី cron និង crontab ដែលខ្ញុំគិតថាមានតម្លៃចែករំលែក។ ស៊ីនគឺជាប្រភេទមួយដែលស្មើនឹងភារកិច្ចដែលបានគ្រោងទុកនៅក្នុងវីនដូមានតែថាវាត្រូវបានគ្រប់គ្រងពីស្ថានីយ។ អ្នកដែលចូលចិត្តចំណុចប្រទាក់ដែលមើលឃើញដើម្បីសម្រេចគោលដៅដូចគ្នាអាចមើលឃើញចំណុចនេះ អត្ថបទមួយផ្សេងទៀត. |
លិបិក្រម
តើអ្វីទៅជា cron?
ឈ្មោះ cron ចេញមកពីក្រិចក្រិកដែលមានន័យថា "ពេលវេលា" ។ នៅក្នុងប្រព័ន្ធប្រតិបត្តិការយូនីក cron គឺជាកម្មវិធីគ្រប់គ្រងដំណើរការផ្ទៃខាងក្រោយធម្មតា (ដេមិន) ដែលដំណើរការដំណើរការឬស្គ្រីបនៅចន្លោះពេលទៀងទាត់ (ឧទាហរណ៍រាល់នាទីថ្ងៃសប្តាហ៍ឬខែ) ។ ដំណើរការដែលត្រូវតែប្រតិបត្តិនិងពេលវេលាដែលពួកគេត្រូវប្រតិបត្តិត្រូវបានបញ្ជាក់នៅក្នុងឯកសារដើម។
របៀបដែលវាដំណើរការ
ដេមិន cron ចាប់ផ្តើមពី /etc/rc.d/ o /etc/init.d អាស្រ័យលើការចែកចាយ។ Cron ដំណើរការនៅផ្ទៃខាងក្រោយពិនិត្យមើលតារាងភារកិច្ចនៅរៀងរាល់នាទី / etc / crontab ឬនៅ / var / spool / cron ក្នុងការស្វែងរកភារកិច្ចដែលត្រូវធ្វើ។ ក្នុងនាមជាអ្នកប្រើយើងអាចបន្ថែមពាក្យបញ្ជាឬស្គ្រីបជាមួយភារកិច្ចដើម្បីដំណើរការដើម្បីធ្វើឱ្យដំណើរការខ្លះមានដំណើរការ។ វាមានប្រយោជន៍ឧទាហរណ៍ដើម្បីធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធឬប្រព័ន្ធបម្រុងទុកល្អ។
តើប្រូស្តាតជាអ្វី?
Crontab គឺជាឯកសារអត្ថបទសាមញ្ញមួយដែលផ្ទុកបញ្ជីពាក្យបញ្ជាដែលត្រូវប្រតិបត្តិនៅពេលវេលាដែលបានបញ្ជាក់ដោយអ្នកប្រើប្រាស់។ Crontab នឹងផ្ទៀងផ្ទាត់កាលបរិច្ឆេទនិងពេលវេលាដែលស្គ្រីបឬពាក្យបញ្ជាគួរតែត្រូវបានប្រតិបត្តិការអនុញ្ញាតការប្រតិបត្តិហើយវានឹងធ្វើវានៅផ្ទៃខាងក្រោយ។ តាមពិតអ្នកប្រើម្នាក់ៗអាចមានឯកសារចងក្រងផ្ទាល់ខ្លួនរបស់ពួកគេ / etc / crontab វាត្រូវបានសន្មតថាជាឯកសារ crontab របស់អ្នកប្រើប្រាស់ root នៅពេលអ្នកប្រើប្រាស់ធម្មតា (និងសូម្បីតែ root) ចង់បង្កើតឯកសារ crontab ផ្ទាល់ខ្លួនរបស់ពួកគេពេលនោះយើងនឹងប្រើពាក្យបញ្ជា crontab ។
Crontab គឺជាមធ្យោបាយងាយស្រួលបំផុតក្នុងការគ្រប់គ្រងភារកិច្ច cron នៅលើប្រព័ន្ធអ្នកប្រើច្រើនទាំងជាអ្នកប្រើប្រព័ន្ធសាមញ្ញឬអ្នកប្រើប្រាស់ root ។
ការប្រើប្រាស់ crontab
យើងកំពុងចាប់ផ្តើមជាមួយនឹងឧទាហរណ៍ដ៏សាមញ្ញមួយ។
យើងនឹងធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធដោយស្វ័យប្រវត្តិដើម្បីលុបបំបាត់ការរំខាននៃ "ខ្ញុំតែងតែត្រូវធ្វើបច្ចុប្បន្នភាពហើយខ្ញុំមិនចូលចិត្តនោះទេ!"
ដំបូងយើងនឹងបង្កើតស្គ្រីប។ ស្គ្រីបនេះនឹងត្រូវបានហៅដោយ cron ហើយនឹងមានការណែនាំទាំងអស់ដែលយើងចង់អោយវាធ្វើដូច្នេះវាចាំបាច់ត្រូវសាកល្បងវាក្នុងករណីជាច្រើននិងតាមវិធីជាច្រើនមុនពេលបញ្ចូលវានៅក្នុង cron ដែលជាស្គ្រីបធ្វើបច្ចុប្បន្នភាពសាមញ្ញដូចនេះ៖
#! / bin / bash ឧទាហរណ៍ការធ្វើបច្ចុប្បន្នភាព #script #choose ការចែកចាយរបស់អ្នក # debian-ubuntu # ការអាប់ដេត apt-get និង apt-get -y ធ្វើឱ្យទាន់សម័យ #fedora #yum -y update #Arch #pacman --noconfirm -Syu
យកលេខ # ចេញពីខ្សែរបស់អ្នក។ ក្នុងករណីវាជាអ៊ូប៊ុនទូ / ដេបៀនវាចាប់ផ្តើមដោយ apt-get ។
យើងរក្សាទុកស្គ្រីបជា update.sh (ឧទាហរណ៍ស្គ្រីបថតផ្ទះរបស់អ្នក) ។ យើងផ្លាស់ប្តូរសិទ្ធិប្រតិបត្តិនៃស្គ្រីបដែលបាននិយាយជាមួយ៖
chmod a + x ~ / scripts / update.sh
យើងប្រតិបត្តិស្គ្រីបពីរបីដងដើម្បីផ្ទៀងផ្ទាត់ថាអ្វីៗដំណើរការយ៉ាងរលូនយើងកែប្រែអ្វីដែលចាំបាច់ (វាមិនត្រូវមានកំហុសទេបើមិនដូច្នោះទេ cron នឹងធ្វើកំហុសម្តងហើយម្តងទៀត) ។ ឥឡូវនេះដើម្បីបន្ថែមភារកិច្ចទៅនឹងស្តុបរបស់យើង។
បន្ថែមភារកិច្ចទៅ crontab
យើងអនុវត្តការបោះពុម្ពនៃបន្ទះក្តារជាមួយ crontab -e នៅក្នុងការបកស្រាយមួយចំនួន (ដូចជាអ៊ូប៊ុនទូ) វាផ្តល់ឱ្យយើងនូវជម្រើសដើម្បីជ្រើសរើសកម្មវិធីនិពន្ធអត្ថបទដែលយើងចង់បានហើយអ្វីដែលនៅសល់ត្រូវបានទុកចោល។ ឯកសារ crontab នឹងមានលក្ខណៈដូចនេះ។
ពាក្យបញ្ជាអ្នកប្រើ # mh dom mon dow
កន្លែង៖
- m ត្រូវនឹងនាទីដែលស្គ្រីបនឹងត្រូវប្រតិបត្តិតម្លៃចាប់ពី ០ ដល់ ៥៩
- h ពេលវេលាពិតប្រាកដទ្រង់ទ្រាយ ២៤ ម៉ោងត្រូវបានដោះស្រាយតម្លៃចាប់ពី ០ ដល់ ២៣ ដោយ ០ គឺម៉ោង ១២ យប់ពាក់កណ្តាលអធ្រាត្រ។
- ដែន សំអាងលើថ្ងៃនៃខែឧទាហរណ៍អ្នកអាចបញ្ជាក់លេខ ១៥ ប្រសិនបើអ្នកចង់រត់រៀងរាល់ ១៥ ថ្ងៃ
- Dow មានន័យថាថ្ងៃនៃសប្តាហ៍វាអាចជាលេខ (០ ដល់ ៧ ដែលលេខ ០ និង ៧ ជាថ្ងៃអាទិត្យ) ឬអក្សរ ៣ ដំបូងនៃថ្ងៃជាភាសាអង់គ្លេសៈ mon, tue, wed, thu, fri, sat, sun ។
- អ្នកប្រើ កំណត់អ្នកប្រើដែលនឹងប្រតិបត្តិពាក្យបញ្ជាវាអាចជាឬអ្នកប្រើផ្សេងដរាបណាពួកគេមានសិទ្ធិប្រតិបត្តិស្គ្រីប។
- ពាក្យបញ្ជា សំអាងលើពាក្យបញ្ជាឬផ្លូវដាច់ខាតនៃស្គ្រីបដែលត្រូវប្រតិបត្តិឧទាហរណ៍៖ /home/usuario/scripts/update.shប្រសិនបើវាហៅស្គ្រីបវាត្រូវតែអាចប្រតិបត្តិបាន
ដើម្បីឱ្យច្បាស់ឧទាហរណ៍មួយចំនួននៃភារកិច្ច cron បានពន្យល់:
១៥ ១០ * * * អ្នកប្រើ / ហូម/user/scripts/update.sh
វានឹងដំណើរការស្គ្រីប update.sh នៅម៉ោង ១០ ៈ ១៥ នាទីជារៀងរាល់ថ្ងៃ
១៥ ១០ * * * អ្នកប្រើ / ហូម/user/scripts/update.sh
វានឹងដំណើរការស្គ្រីប update.sh នៅម៉ោង ១០ ៈ ១៥ នាទីរៀងរាល់ថ្ងៃ
00 ១០ * * ០ អ្នកប្រើជា Root apt-get -y update អ្នកប្រើ Root
វានឹងដំណើរការបច្ចុប្បន្នភាពរៀងរាល់ថ្ងៃអាទិត្យវេលាម៉ោង ១០ ព្រឹក
45 ១០ * ការធ្វើបច្ចុប្បន្នភាពឫសគល់នៃព្រះអាទិត្យ
អ្នកប្រើប្រាស់ប្ញសនឹងដំណើរការបច្ចុប្បន្នភាពរៀងរាល់ថ្ងៃអាទិត្យ (អាទិត្យ) វេលាម៉ោង ១០ និង ៤៥ នាទីព្រឹក
៣០ ៧ ២០ ១១ * អ្នកប្រើ / home/usuario/scripts/updata.sh
នៅថ្ងៃទី ២០ ខែវិច្ឆិកាវេលាម៉ោង ៧ ៈ ៣០ អ្នកប្រើនឹងដំណើរការស្គ្រីប
៣០ ៧ ១១ ១១ អ្នកប្រើព្រះអាទិត្យ /home/usuario/scripts/pastel_con_velitas.sh
នៅថ្ងៃទី ១១ ខែវិច្ឆិកាវេលាម៉ោង ៧ ៈ ៣០ ព្រឹកហើយនោះជាថ្ងៃអាទិត្យអ្នកប្រើនឹងអបអរ sysadmin (នោះគឺខ្ញុំ)
០១ * * * * អ្នកប្រើ / ហូមេរ / សួយូរីយ៉ូ / ស្គ្រីប / ម័រសស្តុនឌ័រ
ការរំលឹករំខានរៀងរាល់នាទីរាល់ម៉ោងរាល់ថ្ងៃ (មិនណែនាំ) ។
ពួកគេនៅតែអាចដោះស្រាយបាន ជួរពិសេស៖
30 17 * * 1,2,3,4,5 ។
នៅម៉ោង ៥ ៈ ៣០ រសៀលជារៀងរាល់ថ្ងៃពីថ្ងៃច័ន្ទដល់ថ្ងៃសុក្រ។
០០ ១២ ១.១៥,២៨ * *
នៅម៉ោង ១២ ថ្ងៃត្រង់នៅថ្ងៃទី ១ ទី ១៥ និង ២៨ នៃខែនីមួយៗ (ល្អសម្រាប់ប្រាក់ខែ)
ប្រសិនបើនេះច្រឡំសូមដោះស្រាយ ខ្សែពិសេសដើម្បីកំណត់ជួរទាំងនេះ.
@reboot ដំណើរការម្តងនៅពេលចាប់ផ្តើម
@yearly ដំណើរការតែ ១ ដងក្នុងមួយឆ្នាំ៖ ០ ០ ១ ១ *
@ ដូចគ្នាដូចគ្នានឹង @yearly
@monthly ដំណើរការម្តងក្នុងមួយខែដែលជាថ្ងៃដំបូង៖ ០ ០ ១ * *
@weekly ប្រចាំសប្តាហ៍នាទីដំបូងនៃម៉ោងដំបូងនៃសប្តាហ៍។ 0 0 * * 0″ ។
@daily ប្រចាំថ្ងៃម៉ោង ១២:០០ A.M. 12 00 * * *
@midnight ដូចគ្នានឹង @daily ដែរ
@hourly នៅនាទីដំបូងនៃរាល់ម៉ោង៖ 0 * * * *
ការប្រើប្រាស់របស់វាគឺសាមញ្ញណាស់។
@hourly អ្នកប្រើប្រាស់ /home/user/scripts/molestorecordatorio.sh @monthly អ្នកប្រើប្រាស់ /home/user/scripts/backup.sh @ ធ្វើបច្ចុប្បន្នភាពបច្ចុប្បន្នភាព apt-get របស់ @daily និង & ធ្វើឱ្យប្រសើរឡើង apt-get -y
ចុងក្រោយប៉ុន្តែមិនបានយ៉ាងហោចណាស់:
ការគ្រប់គ្រងការងារស៊ីរ៉ូ
ឯកសារ crontab
ជំនួសឯកសារ crontab ដែលមានស្រាប់ដោយឯកសារកំណត់ដោយអ្នកប្រើ
crontab -e
កែសម្រួលឯកសារទ្រនាប់របស់អ្នកប្រើបន្ទាត់ថ្មីនីមួយៗនឹងក្លាយជាភារកិច្ចថ្មី។
crontab -l
រាយរាល់សកម្មភាពឈប់របស់អ្នកប្រើប្រាស់
crontab -d
លុបផ្នត់របស់អ្នកប្រើ
crontab -c dir
កំណត់ថតឯកសារឈប់របស់អ្នកប្រើ (នេះត្រូវមានសិទ្ធិសរសេរនិងប្រតិបត្តិរបស់អ្នកប្រើប្រាស់)
crontab -u អ្នកប្រើប្រាស់
បុព្វបទដើម្បីដោះស្រាយរ៉ាកែតរបស់អ្នកប្រើម្នាក់ទៀតឧទាហរណ៍ៈ
$ sudo crontab -l -u root $ sudo crontab -e user2 #crontab -d -u អ្នកប្រើប្រាស់
ឧបករណ៍នេះក៏ដូចជាឧបករណ៍ដទៃទៀតដែរដែលអាចមើលឃើញកាន់តែស៊ីជម្រៅនិងលម្អិតបន្ថែមទៀតនៅក្នុង៖
៥៧ យោបល់ទុកអ្នក
អ៊ូ ... ច្រឡំបន្តិច។
* / ៣០ បាត់ (ក្នុងនាទីនាទី) ដែលដំណើរការរៀងរាល់ ៣០ នាទី…
គ្រាន់តែនេះខ្ញុំនឹងធ្វើអត្ថាធិប្បាយរហូតដល់ខ្ញុំសំរេចចិត្តពិនិត្យយោបល់ឡើងវិញ
ការកែប្រែនេះគឺជាព័ត៌មានសំខាន់មួយហើយមានអ្វីដែលមានប្រយោជន៍។
ជំរាបសួរ!
ឥលូវនេះខ្ញុំកំពុងសាកល្បងកំណត់រចនាសម្ព័ន្ធរៀងរាល់ ៤៥ នាទីម្តង។
* / ៤៥ * * * *, ហើយការណែនាំត្រូវបានអនុវត្តនៅ ៤៥ នាទីរៀងរាល់ម៉ោងនិងរៀងរាល់ម៉ោង។ នោះគឺការនិយាយថា៖
វាដំណើរការនៅម៉ោង ៣:៤៥ បន្ទាប់មកម៉ោង ៤:០០ ៤:៤៥ បន្ទាប់មកម៉ោង ៥:០០ ៥:៤៥ ៦:០០ ៦:៤៥ និងអ្វីៗផ្សេងទៀត។
ខ្ញុំមានអ្វីខុស? តើខ្ញុំអាចធ្វើអ្វីបានដើម្បីធ្វើវារៀងរាល់ ៤៥ នាទីឬយ៉ាងហោចណាស់ម្តងនៅ ៤៥ នាទីរៀងរាល់ម៉ោង។
ជំរាបសួរ!
ឥលូវនេះខ្ញុំកំពុងសាកល្បងកំណត់រចនាសម្ព័ន្ធរៀងរាល់ ៤៥ នាទីម្តង។
* / ៤៥ * * * *, ហើយការណែនាំត្រូវបានអនុវត្តនៅ ៤៥ នាទីរៀងរាល់ម៉ោងនិងរៀងរាល់ម៉ោង។ នោះគឺការនិយាយថា៖
វាដំណើរការនៅម៉ោង ៣:៤៥ បន្ទាប់មកម៉ោង ៤:០០ ៤:៤៥ បន្ទាប់មកម៉ោង ៥:០០ ៥:៤៥ ៦:០០ ៦:៤៥ និងអ្វីៗផ្សេងទៀត។
ខ្ញុំមានអ្វីខុស? តើខ្ញុំអាចធ្វើអ្វីបានដើម្បីធ្វើវារៀងរាល់ ៤៥ នាទីឬយ៉ាងហោចណាស់ម្តងនៅ ៤៥ នាទីរៀងរាល់ម៉ោង។
សួស្តីព័ត៌មានដែលមានប្រយោជន៍ទំនើបដើម្បីបញ្ជាក់ពីរបៀបដំណើរការ។
បៃ
សម្រាប់ *
ល្អណាស់អរគុណដែលបញ្ជាក់ពីរបៀបដំណើរការរបស់ខុនដូ .. តោះដាក់ដៃបន្តិច🙂
ខ្សែនេះដូចដែលខ្ញុំយល់ថាវានឹងត្រូវគេប្រហារជីវិតនៅម៉ោង ១០ និង ១៥ នាទីសូមកែខ្ញុំប្រសិនបើខ្ញុំខុស
អញ្ចឹងវានិយាយថាម៉ោង ១០ និង ១៥ នាទី
១៥ ១០ * * * អ្នកប្រើ / ហូម/user/scripts/update.sh
សួស្តី! ព័ត៌មានល្អណាស់។
ដើម្បីប្រតិបត្តិស្គ្រីបរៀងរាល់កន្លះម៉ោងខ្សែដែលគួរតែបន្ថែមទៅស៊ីនថេបនឹងៈ "៣០ * * * * ជា root Scrip.sh" ត្រឹមត្រូវទេ? អរគុណច្រើន!
ទេប្រសិនបើខ្ញុំចាំបានត្រឹមត្រូវសម្រាប់ការដែលអ្នកត្រូវដាក់ / 30 * * * * root Scrip.sh ។
នោះគឺបន្ថែម / មុន 30 ។
លើកទឹកចិត្ត! ប៉ូល។
ជំរាបសួរ, ខ្ញុំចូលចិត្តការប្រកាសរបស់អ្នក, វាជាការពេញលេញណាស់ប៉ុន្តែខ្ញុំចង់សួរអ្នកអ្វីមួយ។
ខ្ញុំកំពុងមានបញ្ហាជាមួយនឹងពាក្យបញ្ជានេះនិងមួយផ្សេងទៀតដូចជា "នៅ" ។
ខ្ញុំចង់ដំណើរការស្គ្រីបនៅពេលជាក់លាក់មួយហើយដាក់
នៅ -f /home/mi_user/Desk/script.sh 18:08 ឧទាហរណ៍
ហើយស្គ្រីបមិនត្រូវបានប្រតិបត្តិនៅលើអេក្រង់ទេពោលគឺនៅក្នុងស្ថានីយតើវាត្រូវបានប្រតិបត្តិនៅខាងក្រោយទេ?
ហើយជាមួយ cron រឿងដដែលកើតឡើងចំពោះខ្ញុំខ្ញុំកែសម្រួលឯកសារ crontab ជាមួយ "crontab -e"
នៅចុងបញ្ចប់ខ្ញុំបន្ថែមបន្ទាត់នេះ៖
៤៦ ១៩ my_user /home/mi_user/Desk/script.sh
ហើយវាមិនធ្វើអ្វីទាំងអស់វាមិនបង្ហាញស្គ្រីបទេ។
សំណូមពរណាមួយ? សូមអរគុណច្រើនហើយសូមអភ័យទោសចំពោះភាពរអាក់រអួល
ដើម្បីឱ្យស្ថានីយបង្ហាញអ្នកប្រហែលជាត្រូវដំណើរការស្ថានីយហើយហុចស្គ្រីបជាប៉ារ៉ាម៉ែត្រ។
ឧទាហរណ៍:
lxterminal -e "my_user /home/my_user/Desk/script.sh"
ប៉ារ៉ាម៉ែត្រដែលត្រូវប្រើអាចខុសគ្នាអាស្រ័យលើកម្មវិធីត្រាប់តាមស្ថានីយដែលអ្នកប្រើ។
ខ្ញុំសង្ឃឹមថាវាមានប្រសិទ្ធភាព។
ឱប! ប៉ូល។
ការចូលរួមវិភាគទានត្រូវបានកោតសរសើរ។
១០ ពិន្ទុ !!
សាឡួ ២ !!
អរគុណខ្លាំងណាស់វាបានជួយខ្ញុំច្រើនក្នុងការបញ្ជាក់ពីរឿងខ្លះអរគុណសរុបសម្រាប់ព័ត៌មានលំអិតឬសំណួរដែលខ្ញុំនឹងចូលទៅកាន់ទំព័រ MAN PAGE សូមជំរាបជាថ្មី។
បុរសអរគុណអ្នកខ្លាំងណាស់ខ្ញុំបានអាននិងសាកល្បងឧទាហរណ៍។ អរគុណច្រើន ... វាអាចយល់បាន។ លើកទឹកចិត្ត
ខ្ញុំបានប្រើ ubuntu Server ១២.០៤.២ LTS និងកំណែ crontab ដែលខ្ញុំមានដើម្បីលុបបញ្ជីការងាររបស់អ្នកប្រើប្រាស់ត្រូវបានប្រើ crontab -r (និង -l ដូចដែលសៀវភៅណែនាំនិយាយ) ។ ប្រាកដថាវាគឺដោយសំណួរនៃកំណែ។
ម៉្យាងទៀតខ្ញុំធ្លាប់រត់តែឈើច្រត់ហើយប្រភេទនេះអនុញ្ញាតឱ្យខ្ញុំបង្កើតឯកសារប្រតិបត្តិផ្ទាល់ខ្លួនរបស់ខ្ញុំប៉ុន្តែនេះមិនមែនជាឯកសារដែលត្រូវបានគេប្រហារជីវិតនោះទេ។ អ្នកដែលបើកគឺមួយនៅក្នុង / etc / crontab ។ ប្រហែលជាមាននរណាម្នាក់ប្រើយោបល់។
PS (ខ្ញុំបានស្វែងរកទីតាំងនិងកន្លែងដែលវាត្រូវបានបញ្ជូនប៉ុន្តែវាបានបញ្ជូនតែអាសយដ្ឋានដែលបានរៀបរាប់ខាងលើនិងឯកសារផ្សេងទៀតដែលត្រូវបានអ៊ិនគ្រីបដូច្នេះប្រសិនបើឯកសារដែលត្រូវបានគេប្រហារជីវិតគឺជារបស់មួយនៅក្នុង / etc / crontab ប៉ុន្តែនៅពេលប្រតិបត្តិពាក្យបញ្ជា crontab -e នោះអណ្តូងរ៉ែបានលេចចេញមក។ ជាមួយនឹងការងារទាំងអស់ដែលខ្ញុំបានកំណត់) តើឯកសារនេះត្រូវបានរក្សាទុកនៅឯណា? ???? ដោយក្តីគោរព។ ខ្ញុំតែងតែចូលជា root ។
ល្អណាស់មានប្រយោជន៍ណាស់ !!!
ជំរាបសួរ, ខ្ញុំចង់ធ្វើនេះ…………« ១៥ ១០ * * * ការដកឫសគល់នៃវប្បធម៌ជាតិ»
នោះគឺនៅពេលជាក់លាក់មួយបណ្តាញកាតបិទ…………ល្អខ្ញុំដាក់វានៅលើទ្រនាប់ហើយវាមិនដំណើរការទេ……តើមានអ្វីកើតឡើង?
ស្វាគមន៍និងអរគុណ
អ្នកខកខានកំណត់និយមន័យ "មន" បន្ទាប់ពីចំណងជើងថា "បន្ថែមភារកិច្ចទៅកន្លែងឈប់"
អត្ថបទនៅតែស្រស់ស្អាត cron មានប្រយោជន៍ខ្លាំងណាស់។
ប៉ុណ្ណឹងល្អប៉ុណ្ណឹងចុះប៉ុណ្ណឹងហើយសួរខ្ញុំ
ប្រសិនបើខ្ញុំចង់តាមដានកំណត់ត្រាដែលនៅសល់ដោយការប្រតិបត្តិភារកិច្ចតើខ្ញុំអាចមើលឃើញវានៅឯណា?
គឺត្រូវសំរេចថាខ្ញុំចង់ឃើញប្រវត្តិនៃសកម្មភាពដែលបានធ្វើកាលពីអតីតកាលនៃឯកសារនេះហើយខ្ញុំចង់ឃើញអ្នកដែលបានកែប្រែវានិងកាលបរិច្ឆេទ
អរគុណ
ខ្ញុំចង់ពិនិត្យមើលប្រវត្តិកែប្រែនេះ
តើខ្ញុំអាចធ្វើវាបានដោយរបៀបណា
អរគុណ
អរុណសួស្តី,
ខ្ញុំគិតថានៅក្នុងស្គ្រីបអ៊ូប៊ុនទូអ្នកបានធ្វើឱ្យមានកំហុសអ្នកបានធ្វើឱ្យប្រសើរឡើង ap-get -y ជំនួសឱ្យការធ្វើឱ្យប្រសើរ apt-get -y (អ្នកបានទុកមួយ t) ។
ស្វាគមន៍មួយ។
គឺអញ្ចឹង។ សូមអរគុណ!
ឱប! ប៉ូល
ខ្ញុំចង់ដឹងពីរបៀបបង្កើតឯកសារ cron ដើម្បីអាចបញ្ជាក់ពីពេលវេលានីមួយៗនៅពេលដែលវាត្រូវបានប្រតិបត្តិថតឯកសារ។ ល។
សូមអរគុណសម្រាប់ការបញ្ជាក់ពីប្រតិបត្តិការនិងពាក្យបញ្ជាមូលដ្ឋានគ្រឹះសម្រាប់គ្រីនឥឡូវនេះដើម្បីកំដរអារម្មណ៍អ្នកបន្តិច។
នៅពេលណាដែលខ្ញុំស្វែងរកព័ត៌មានលើប្រធានបទណាមួយដែលទាក់ទងនឹងហ្គ្រូន / លីនុចខ្ញុំធ្វើហើយវិលជុំទីបំផុតរកឃើញនៅក្នុង ៩០ ភាគរយនៃករណីដែលជាឯកសារបង្រៀនល្អបំផុតនៅក្នុងសហគមន៍ដ៏អស្ចារ្យនេះ។ ។
ទាក់ទង
សូមអរគុណ Sander! អោប! ប៉ូល។
dom = ថ្ងៃនៃខែ
dow = ថ្ងៃនៃសប្តាហ៍
វាកាន់តែងាយស្រួលប្រសិនបើអ្នកចូលរួម
អរគុណខ្លាំងណាស់រឿងនេះចប់ហើយពន្យល់បានល្អ។
នេះគឺដូចគ្នានឹងគ្រូប្រព័ន្ធប្រតិបត្តិការរបស់ខ្ញុំបានអោយយើងខ្ញុំមិនផ្លាស់ប្តូរអ្វីទាំងអស់ឥឡូវនេះខ្ញុំឃើញថាហេតុអ្វីបានជាថ្នាក់រៀនអាក្រក់ណាស់ ។- អញ្ចឹងវាដូចគ្នានឹងកិច្ចការផ្ទះ xD
ប៉ាន់ស្មាន,
សំណួរតើរយៈពេលនៃការងារអាចត្រូវបានកំណត់ទេ?
ឧទាហរណ៍ខ្ញុំមានភារកិច្ចដែលធ្វើម្តងទៀតរៀងរាល់ ៥ នាទីម្តងលើការធ្វើដដែលៗប្រសិនបើកិច្ចការនោះនៅតែសកម្មសូមឱ្យវាសម្លាប់វាហើយដំណើរការវាម្តងទៀត។
សូមអរគុណ
ម៉ាសែលឡូ
សួស្តី Marcelo!
ខ្ញុំគិតថាវាជាការប្រសើរប្រសិនបើអ្នកលើកសំណួរនេះនៅក្នុងសំណួរនិងសេវាកម្មឆ្លើយរបស់យើង សួរពីអិលលីន ដូច្នេះសហគមន៍ទាំងមូលអាចជួយអ្នកពីបញ្ហារបស់អ្នក។
ឱបមួយ Pablo ។
ប្រកាសល្អ។
តើអ្វីទៅជាពាក្យបញ្ជាក្នុងស្ថានីយដើម្បីបន្ថែមភារកិច្ចទៅនឹងឈើច្រត់ (ដោយមិនចាំបាច់បញ្ចូលឈើឆ្កាងហើយបន្ថែមវាដោយដៃដោយប្រើ 'crontab -e' ឬជំនួស crontab ជាមួយ crontab ផ្សេងទៀតជាមួយ 'crontab file') ។
គំនិតនេះគឺដើម្បីបង្កើតស្គ្រីបខាងក្រៅដើម្បីបន្ថែមភារកិច្ចទៅនឹងឈើច្រត់
អរគុណ
វាហាក់ដូចជាខ្ញុំដែលអ្នកអាចប្រើ 'អេកូ' នូវអ្វីដែលអ្នកចង់បន្ថែម '| ឆ្មា >> 'ផ្លូវ cronotab (/ etc / cronotab)' «
តើការបញ្ចេញមតិដំណើរការយ៉ាងដូចម្តេចរៀងរាល់ ៣ ថ្ងៃម្តង
ជំរាបសួរ។
ខ្ញុំមានបញ្ហាក្នុងការប្រតិបត្តិការងារ។
ខ្ញុំដំណើរការភារកិច្ចដូចតទៅៈ
០១ * * * * ជា root / ហូមេរ / សឺរ/script/mfile.sh
ប៉ុន្តែភារកិច្ចមិនត្រូវបានធ្វើ។ ខ្ញុំបានពិនិត្យឃើញថា myfile.sh មានការអនុញ្ញាតប្រតិបត្តិហើយអ្នកប្រើប្រាស់ដែលប្រតិបត្តិវាជាឬស។
ខ្ញុំដំណើរការភារកិច្ចដូចគ្នានៅក្នុង / etc / crontab ហើយបន្ទាប់ពីចាប់ផ្តើមសេវាកម្មឡើងវិញវាក៏មិនមានប្រសិទ្ធិភាពសម្រាប់ខ្ញុំដែរ។
ខ្លឹមសារនៃគេហទំព័រ myfile.sh គឺជាពាក្យបញ្ជាដែលធ្វើបច្ចុប្បន្នភាពឌីប៊ីហើយប្រសិនបើខ្ញុំដំណើរការវានៅក្នុងកុងសូលវាដំណើរការ។
តើមានបញ្ហាអ្វីកើតឡើង?
អ្នកប្រើមូលដ្ឋានទិន្នន័យអាចមិនមានសិទ្ធិទាំងអស់ហើយដំបូងអ្នកត្រូវនាំចេញអថេរបរិស្ថានពីម៉ាស៊ីនទិន្នន័យរបស់អ្នក។
ឧទាហរណ៍នៅក្នុង db2 បន្ទាត់នេះនឹងទៅដល់ការចាប់ផ្តើមនៃស្គ្រីប
។ / home / db2inst1 / sqllib / db2profile
បុព្វហេតុមួយទៀតគឺថាស្គ្រីបតម្រូវឱ្យមានការភ្ជាប់ទៅនឹងមូលដ្ឋានទិន្នន័យធ្វើឱ្យការតភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យនៅក្នុងស្គ្រីប
ខ្ញុំមិនដឹងថាខ្ញុំត្រូវចាប់ក្រញូងឡើងវិញទេខ្ញុំបានឈ្លោះគ្នាជាមួយនេះមួយរយៈ
ពួកគេនឹងដឹងពីវិធីដើម្បីចង្អុលបង្ហាញថាការងារត្រូវបានដំណើរការរៀងរាល់ចុងខែនៅពេលដែលបានចង្អុលបង្ហាញ .. ចំណុចលម្អិតគឺខ្ញុំមិនអាចសំរេចបានថាតើខ្ញុំដឹងថាវាត្រូវការថ្ងៃចុងក្រោយនៃខែនីមួយៗទេ .. ?? ខ្ញុំត្រូវសរសេរវាម្តងមួយៗប៉ុន្តែនៅពេលចុងបញ្ចប់នៃខែកុម្ភះមកដល់ថាវាជាប៊ីសស៊ីវាមានភាពស្មុគស្មាញសំរាប់ខ្ញុំ ។.
សំណាងល្អ, ថ្ងៃល្អ!!
តើខ្ញុំអាចបញ្ឈប់ដំណើរការដែលកំពុងត្រូវបានប្រតិបត្តិនៅលើស្តុបឈើដោយរបៀបណា?
ដំណើរការ * …………
តើអ្នកអាចជួយខ្ញុំបានទេ? eu tenho អ៊ឹមស្គ្រីបដោយអ្នកនិពន្ធ minha ដែលមិនដំណើរការដោយមិនចាំបាច់ឈប់! Jб dei ការអនុញ្ញាតទាំងអស់មិនមែន cron ឬអ្នកប្រើប្រាស់ជាក់លាក់ដែលអាចប្រតិបត្តិវាបានទេ - ភាគច្រើនគ្មានអ្វីកើតឡើងទេ! ខ្ញុំចង់ដឹងថាតើអ្នកអាចជួយខ្ញុំបានទេរឿងខ្លះទៀតមិនដំណើរការទេ! Vlws
តើអ្នកនឹងដាក់ភារកិច្ចដើម្បីដំណើរការរាល់ថ្ងៃចុងក្រោយនៃខែ (ថ្ងៃ: ៣១-៣០-២៨) ដោយរបៀបណា?
ដូចដែលអ្នកដឹងពាក្យបញ្ជា su ត្រូវបានប្រើដើម្បីផ្លាស់ប្តូរអ្នកប្រើប្រាស់នៅក្នុងកុងសូល។ ប្រសិនបើខ្ញុំប្រើពាក្យបញ្ជា su ដូចនេះ៖ "អ្នកប្រើប្រាស់របស់អ្នក" ផ្លាស់ប្តូរអ្នកប្រើប្រាស់ប៉ុន្តែដោយគ្មានការកំណត់ត្រឹមត្រូវនៃ "អ្នកប្រើប្រាស់" ប្រសិនបើខ្ញុំដំណើរការ su ដូច៖ "ស៊ូ - អ្នកប្រើ" ផ្លាស់ប្ដូរអ្នកប្រើប្រាស់ដោយផ្ទុកការកំណត់អ្នកប្រើ។ ជាមួយនឹងកូដខ្ញុំបង្ហាញអ្នកប្រើប៉ុន្តែតើខ្ញុំផ្ទុកការកំណត់រចនាសម្ព័ន្ធរបស់អ្នកប្រើនេះយ៉ាងដូចម្តេច?
ហើយប្រសិនបើខ្ញុំចង់បញ្ឈប់វា?
ជំរាបសួរ,
ខ្ញុំមិនដឹងថាខ្ញុំកំពុងធ្វើអ្វីខុសទេប៉ុន្តែខ្ញុំធ្វើតាមជំហានហើយគ្មានអ្វីត្រូវបានប្រហារជីវិតឡើយ។ ខ្ញុំបានព្យាយាម៖
៥៩ * * * * / usr / bin / gedit
* * * * * / usr / bin / gedit
* * * * * root / usr / bin / gedit
* * * * * usr / bin / test.sh
* * * * * root usr / bin / test.sh
ហើយគ្មានអ្វីទាំងអស់។ វាមិនប្រតិបត្តិអ្វីទាំងអស់។ ខ្ញុំបានបញ្ចូលឡើងវិញហើយអ្វីៗទាំងអស់។
សូមអរគុណអ្នកខ្លាំងណាស់