របៀបកែសម្រួលឯកសារ Linux Crontab ដើម្បីកំណត់ពេលការងារ

សេចក្តីណែនាំ

មានដេមិននៅក្នុងលីនុចដែលគេហៅថា cron ដែលត្រូវបានប្រើដើម្បីដំណើរការដំណើរការនៅចន្លោះពេលទៀងទាត់។

វិធីដែលវាធ្វើនេះគឺត្រូវពិនិត្យមើលថតមួយចំនួនលើប្រព័ន្ធរបស់អ្នកសម្រាប់ស្គ្រីបដើម្បីដំណើរការ។ ឧទាហរណ៍មានថតមួយដែលហៅថា /etc/cron.hourly, / etc / crron.daily, /etc/cron.weekly និង /etc/cron.monthly ។ មានឯកសារដែលហៅថា / etc / crontab ។

តាមលំនាំដើមអ្នកគ្រាន់តែអាចដាក់ស្គ្រីបចូលទៅក្នុងថតដែលពាក់ព័ន្ធដើម្បីឱ្យពួកគេដំណើរការចន្លោះពេលទៀងទាត់។

ឧទាហរណ៍បើកបង្អួចស្ថានីយ (ដោយចុច CTRL, ALT និង T) ហើយរត់ ពាក្យបញ្ជា ls ដូចខាងក្រោម:

ls / etc / cron *

អ្នកនឹងឃើញបញ្ជីកម្មវិធីឬស្គ្រីបដែលត្រូវបានដំណើរការរាល់ម៉ោងប្រចាំថ្ងៃប្រចាំសប្តាហ៍និងប្រចាំខែ។

បញ្ហាជាមួយថតឯកសារទាំងនេះគឺថាពួកគេមិនច្បាស់លាស់បន្តិច។ ឧទាហរណ៍ជារៀងរាល់ថ្ងៃមានន័យថាស្គ្រីបនឹងរត់មួយដងក្នុងមួយថ្ងៃប៉ុន្តែអ្នកមិនមានការត្រួតពិនិត្យលើពេលវេលាដែលស្គ្រីបនឹងរត់ក្នុងថ្ងៃនោះឡើយ។

នោះគឺជាកន្លែងដែលឯកសារ crontab ចូលមក។

ដោយកែសម្រួលឯកសារ crontab អ្នកអាចយកស្គ្រីបឬកម្មវិធីដើម្បីដំណើរការនៅកាលបរិច្ឆេទនិងពេលវេលាពិតប្រាកដដែលអ្នកចង់ឱ្យវាដំណើរការ។ ឧទាហរណ៍អ្នកចង់បម្រុងទុកឯកសាររបស់អ្នករៀងរាល់យប់នៅម៉ោង 6 ល្ងាច។

ការអនុញ្ញាត

ពាក្យបញ្ជា crontab តម្រូវឱ្យអ្នកប្រើមានសិទ្ធិដើម្បីកែសម្រួលឯកសារ crontab ។ មានមូលដ្ឋានពីរឯកសារដែលត្រូវបានប្រើដើម្បីគ្រប់គ្រងសិទ្ធិ crontab:

ប្រសិនបើឯកសារ /etc/cron.allow មានរួចហើយអ្នកប្រើដែលចង់កែសម្រួលឯកសារ crontab ត្រូវតែនៅក្នុងឯកសារនោះ។ ប្រសិនបើឯកសារ cron.allow មិនមានទេប៉ុន្តែមានឯកសារ /etc/cron.deny នោះអ្នកប្រើមិនត្រូវមាននៅក្នុងឯកសារនោះទេ។

ប្រសិនបើឯកសារទាំងពីរមានរួចហើយនោះសំណុំ /etc/cron.allow នឹងបដិសេធឯកសារ /etc/cron.deny ។

ប្រសិនបើគ្មានឯកសារទេនោះវាអាស្រ័យលើការកំណត់ប្រព័ន្ធថាតើអ្នកប្រើអាចកែសម្រួល crontab បានដែរឬទេ។

អ្នកប្រើ root តែងតែកែសម្រួលឯកសារ crontab ។ អ្នកអាចប្រើ ពាក្យបញ្ជា su ដើម្បីប្ដូរទៅអ្នកប្រើ root ឬ ពាក្យបញ្ជា sudo ដើម្បីរត់ពាក្យបញ្ជា crontab ។

ការកែសម្រួលឯកសារ Crontab

អ្នកប្រើម្នាក់ៗដែលមានការអនុញ្ញាតអាចបង្កើតឯកសារ crontab ផ្ទាល់ខ្លួនរបស់ពួកគេ។ ពាក្យបញ្ជា cron ជាទូទៅរកមើលអត្ថិភាពនៃឯកសារ crontab ច្រើនហើយរត់កាត់ពួកវាទាំងអស់។

ដើម្បីពិនិត្យមើលថាតើអ្នកមានឯកសារ crontab រត់ពាក្យបញ្ជាដូចខាងក្រោម:

crontab -l

ប្រសិនបើអ្នកមិនមានឯកសារ crontab សារ "no crontab សម្រាប់ <ឈ្មោះរបស់អ្នក> នឹងលេចឡើងបើមិនដូច្នេះទេឯកសារ crontab របស់អ្នកនឹងត្រូវបានបង្ហាញ (មុខងារនេះខុសគ្នាពីប្រព័ន្ធមួយទៅប្រព័ន្ធពេលខ្លះវាបង្ហាញគ្មានអ្វីទាំងអស់និងពេលវេលាផ្សេងទៀតដែលវាបង្ហាញ" កុំកែសម្រួលឯកសារនេះ ") ។

ដើម្បីបង្កើតឬកែសម្រួលឯកសារ crontab រត់ពាក្យបញ្ជាដូចខាងក្រោម:

crontab -e

តាមលំនាំដើមប្រសិនបើគ្មានកម្មវិធីនិពន្ធលំនាំដើមដែលបានជ្រើសទេនោះអ្នកនឹងត្រូវបានស្នើឱ្យជ្រើសកម្មវិធីនិពន្ធលំនាំដើមដើម្បីប្រើ។ ផ្ទាល់ខ្ញុំចូលចិត្តប្រើ nano ព្រោះវាមានភាពត្រឹមត្រូវត្រង់ទៅមុខហើយវារត់ពីស្ថានីយ។

ឯកសារដែលបើកដំណើរការមានព័ត៌មានជាច្រើនប៉ុន្តែផ្នែកសំខាន់គឺឧទាហរណ៍មុនពេលបញ្ចប់ផ្នែកមតិយោបល់ (មតិយោបល់ត្រូវបានបង្ហាញដោយបន្ទាត់ដែលចាប់ផ្ដើមដោយ #) ។

# mh dom mon

0 5 * * 1 tar -zcf / var / backups / home.tgz / home /

មាន 6 ព័ត៌មានដែលសមស្របនៅលើបន្ទាត់នីមួយៗនៃឯកសារ crontab:

សម្រាប់ធាតុនីមួយៗ (លើកលែងតែពាក្យបញ្ជា) អ្នកអាចបញ្ជាក់តួអក្សរជំនួស។ រកមើលបន្ទាត់ដូចខាងក្រោមបន្ទាត់ crontab:

30 18 * * * tar -zcf / var / backups / home.tgz / home /

អ្វីដែលពាក្យបញ្ជាខាងលើនេះនិយាយគឺនៅ 30 នាទី 18 ម៉ោងនិងថ្ងៃណាមួយខែនិងថ្ងៃនៃសប្ដាហ៍រត់ពាក្យបញ្ជាដើម្បី បង្ហាប់ និងដាក់ថតផ្ទះទៅថតឯកសារ / var / backups ។

ដើម្បីទទួលបានពាក្យបញ្ជាដើម្បីរត់ 30 នាទីរាល់ម៉ោងខ្ញុំអាចរត់ពាក្យបញ្ជាដូចខាងក្រោម:

30 * * * * ពាក្យបញ្ជា

ដើម្បីទទួលបានពាក្យបញ្ជាដើម្បីរត់រាល់នាទីមុនម៉ោង 6 ល្ងាចខ្ញុំអាចរត់ពាក្យបញ្ជាដូចខាងក្រោម:

* 18 * * *

ដូច្នេះអ្នកត្រូវប្រុងប្រយ័ត្នអំពីការបង្កើតពាក្យបញ្ជា crontab របស់អ្នក។

ឧទាហរណ៍:

ពាក្យបញ្ជា * * * 1 *

ពាក្យបញ្ជាខាងលើនឹងរត់រាល់នាទីរាល់ម៉ោងរាល់ថ្ងៃរាល់សប្ដាហ៍ក្នុងខែមករា។ ខ្ញុំសង្ស័យថានេះជាអ្វីដែលអ្នកចង់បាន។

ដើម្បីដំណើរការពាក្យបញ្ជានៅម៉ោង 5 ព្រឹកថ្ងៃទី 1 ខែមករាអ្នកនឹងឃើញពាក្យបញ្ជាដូចខាងក្រោមទៅឯកសារ crontab:

0 5 1 1 * ពាក្យបញ្ជា

តើធ្វើដូចម្តេចដើម្បីយកឯកសារ Crontab

ភាគច្រើនអ្នកមិនចង់លុបឯកសារ crontab ទេប៉ុន្តែអ្នកប្រហែលជាចង់លុបជួរដេកមួយចំនួនពីឯកសារ crontab ។

ទោះជាយ៉ាងណាក៏ដោយប្រសិនបើអ្នកចង់លុបឯកសារ crontab របស់អ្នកប្រើរត់ពាក្យបញ្ជាដូចខាងក្រោម:

crontab -r

វិធីដែលមានសុវត្ថិភាពជាងនេះគឺត្រូវដំណើរការពាក្យបញ្ជាដូចខាងក្រោម:

crontab -i

សំណួរនេះសួរសំណួរថា "តើអ្នកប្រាកដទេ?" មុនពេលយកឯកសារ crontab ចេញ។