កម្មវិធីបង្កើតកន្សោម cron
សរសេរ និងអានកាលវិភាគ crontab។ វាយបញ្ចូលកន្សោម cron រួចមើលជាពាក្យថាវាដំណើរការពេលណា ពេលដំណើរការបន្ទាប់ និងអត្ថន័យនៃវាលនីមួយៗក្នុងចំណោមវាលទាំងប្រាំ។
រៀងរាល់នាទី។
ការដំណើរការបន្ទាប់
ម៉ោងត្រូវបានបង្ហាញតាមតំបន់ពេលវេលានៃកុំព្យូទ័ររបស់អ្នក ()។ cron ប្រើតំបន់ពេលវេលារបស់ម៉ាស៊ីនបម្រើ ដែលច្រើនតែមិនដូចគ្នា។
កាលវិភាគទូទៅ
ជ្រើសមួយដើម្បីដាក់ចូលក្នុងវាលខាងលើ។
| * * * * * | រៀងរាល់នាទី |
| */5 * * * * | រៀងរាល់ 5 នាទី |
| */15 * * * * | រៀងរាល់ 15 នាទី |
| */30 * * * * | រៀងរាល់កន្លះម៉ោង |
| 0 * * * * | រៀងរាល់ម៉ោង |
| 0 */2 * * * | រៀងរាល់ 2 ម៉ោង |
| 0 */6 * * * | រៀងរាល់ 6 ម៉ោង |
| 0 */12 * * * | ពីរដងក្នុងមួយថ្ងៃ |
| 0 0 * * * | រាល់ថ្ងៃនៅពាក់កណ្តាលអធ្រាត្រ |
| 0 9 * * * | រាល់ថ្ងៃនៅម៉ោង 9 ព្រឹក |
| 0 9 * * 1-5 | ថ្ងៃច័ន្ទដល់សុក្រនៅម៉ោង 9 ព្រឹក |
| 0 9 * * 6,0 | ថ្ងៃសៅរ៍និងអាទិត្យនៅម៉ោង 9 |
| 0 0 * * 1 | រាល់ថ្ងៃច័ន្ទនៅពាក់កណ្តាលអធ្រាត្រ |
| 0 18 * * 5 | រាល់ថ្ងៃសុក្រនៅម៉ោង 6 ល្ងាច |
| 0 0 1 * * | ថ្ងៃដំបូងនៃខែ |
| 0 0 1 1 * | ថ្ងៃដំបូងនៃឆ្នាំ |
អត្ថន័យនៃវាលនីមួយៗ
| វាល | តម្លៃដែលអនុញ្ញាត |
|---|---|
| នាទី | 0 – 59 |
| ម៉ោង | 0 – 23 |
| ថ្ងៃនៃខែ | 1 – 31 |
| ខែ | 1 – 12, JAN – DEC |
| ថ្ងៃនៃសប្តាហ៍ | 0 – 6, SUN – SAT (0 = 7) |
តួអក្សរពិសេស
| តួអក្សរ | អត្ថន័យ |
|---|---|
| * | តម្លៃណាមួយ |
| , | បំបែកតម្លៃក្នុងបញ្ជី |
| - | ចន្លោះនៃតម្លៃ |
| / | ជំហានក្នុងចន្លោះ |
ផ្លូវកាត់
| @yearly, @annually | 0 0 1 1 * |
| @monthly | 0 0 1 * * |
| @weekly | 0 0 * * 0 |
| @daily, @midnight | 0 0 * * * |
| @hourly | 0 * * * * |
| @reboot | — |
ពួកវាមិនស្ថិតក្នុង cron តាម POSIX ទេ ប៉ុន្តែស្ទើរគ្រប់ការអនុវត្តទទួលយកពួកវា។
អ្វីដែលធ្វើឲ្យមនុស្សភាន់ច្រឡំ
- ពេលថ្ងៃនៃខែ និងថ្ងៃនៃសប្តាហ៍ត្រូវបានកំណត់ទាំងពីរ cron ដំណើរការនៅថ្ងៃដែលត្រូវនឹងមួយណាក៏បាន មិនមែនទាំងពីរទេ។ "* * 3 * 1" ដំណើរការនៅថ្ងៃទី 3 នៃខែ និងរាល់ថ្ងៃច័ន្ទ។ ករណីលើកលែងគឺពេលមួយក្នុងចំណោមពួកវាចាប់ផ្តើមដោយផ្កាយ៖ "* * */2 * 1" ដំណើរការតែនៅថ្ងៃសេសដែលជាថ្ងៃច័ន្ទផងដែរ។ ទំព័រសៀវភៅណែនាំពន្យល់រឿងនេះខុស។
- ដំណើរការម៉ាស៊ីនបម្រើ និង cron ជាមួយវា ក្នុងម៉ោង UTC។ កាលវិភាគដែលសរសេរក្នុងតំបន់ដែលប្រើម៉ោងរដូវក្តៅនឹងរំលងការដំណើរការមួយក្នុងមួយឆ្នាំ ហើយធ្វើម្តងទៀតនៅពេលប្តូរបន្ទាប់។
- cron ស្តង់ដារគ្មានវាលសម្រាប់វិនាទី ឬឆ្នាំទេ។ បើអ្នកត្រូវការភាពជាក់លាក់បែបនោះ cron មិនមែនជាឧបករណ៍ត្រឹមត្រូវទេ។
- ជៀសវាង @reboot។ វាអាស្រ័យលើរបៀបដែលម៉ាស៊ីនត្រូវបានចាប់ផ្តើមឡើងវិញ និងសេវាកម្មណាខ្លះរួចរាល់នៅពេលនោះ ដែលធ្វើឲ្យពិបាកគិត។
- កាលវិភាគដែលមិនសមនឹងវាលប្រាំអាចបែងចែកជាពីរជួរ។ ដើម្បីដំណើរការអ្វីមួយរៀងរាល់ 90 នាទី សូមសរសេរ "0 */3 * * *" និង "30 1/3 * * *" ជាប់គ្នា។
- សរសេរពាក្យបញ្ជាដោយប្រើផ្លូវពេញលេញ។ cron ដំណើរការជាមួយ PATH ខ្លីណាស់ ហើយស្ទើរគ្មានអថេរបរិស្ថានណាមួយដែល shell របស់អ្នកមាន។
សំណួរញឹកញាប់អំពីកន្សោម cron
វាលទាំងប្រាំមានន័យដូចម្តេច?
តាមលំដាប់នេះ៖ នាទី ម៉ោង ថ្ងៃនៃខែ ខែ និងថ្ងៃនៃសប្តាហ៍។ វាលដែលមានផ្កាយត្រូវនឹងគ្រប់តម្លៃ។
ថ្ងៃអាទិត្យគឺ 0 ឬ 7?
ទាំងពីរ។ ការអនុវត្តភាគច្រើនទទួលយកទាំង 0 និង 7 សម្រាប់ថ្ងៃអាទិត្យ ព្រមទាំងឈ្មោះបីតួអក្សរពី SUN ដល់ SAT។
ហេតុអ្វីការងាររបស់ខ្ញុំមិនដំណើរការនៅម៉ោងដែលខ្ញុំរំពឹង?
មូលហេតុធម្មតាគឺ ម៉ាស៊ីនបម្រើនៅតំបន់ពេលវេលាផ្សេង ច្បាប់អំពីថ្ងៃនៃខែជាមួយថ្ងៃនៃសប្តាហ៍ខាងលើ ឬពាក្យបញ្ជាបរាជ័យព្រោះ cron មិនផ្ទុកប្រវត្តិរូប shell របស់អ្នក។
តើទំព័រនេះផ្ញើកន្សោមរបស់ខ្ញុំទៅកន្លែងណាទេ?
ទេ។ កន្សោមត្រូវបានអាន ហើយពេលដំណើរការត្រូវបានគណនាក្នុងកម្មវិធីរុករករបស់អ្នក; គ្មានអ្វីត្រូវបានផ្ទុកឡើងទេ។