Jinsi ya Kusanidi Kazi ya Crontab ya Linux Kwa Kazi ya Ratiba

Utangulizi

Kuna daemon katika Linux inayoitwa cron ambayo hutumiwa kukimbia michakato kwa vipindi vya kawaida.

Njia ya kufanya hivyo ni kuangalia folda fulani kwenye mfumo wako kwa maandiko ili kukimbia. Kwa mfano kuna folder inayoitwa /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly na /etc/cron.monthly. Pia kuna faili inayoitwa / nk / crontab.

Kwa default unaweza tu kuweka scripts katika folders husika ili kuwafanya kukimbia vipindi mara kwa mara.

Kwa mfano fungua dirisha la terminal (kwa uendelezaji wa CTRL, ALT na T) na uendesha amri yafuatayo:

ls / nk / cron *

Utaona orodha ya mipango au scripts zinazoendeshwa kila saa, kila siku, kila wiki na kila mwezi.

Dhiki na folda hizi ni kwamba hawana wazi. Kwa mfano kila siku inamaanisha kuwa script itaendesha mara moja kwa siku lakini huna udhibiti juu ya muda ambao script itaendesha siku hiyo.

Hiyo ndio ambapo faili ya crontab inakuja.

Kwa kuhariri faili ya crontab unaweza kupata script au mpango wa kukimbia kwa tarehe halisi na wakati unayotaka kuendesha. Kwa mfano labda unataka kuhifadhi faili zako kila usiku saa 6 jioni.

Ruhusa

Amri ya crontab inahitaji kwamba mtumiaji ana ruhusa ya kuhariri faili ya crontab. Kuna faili mbili ambazo zinatumiwa kusimamia vibali vya crontab:

Ikiwa file /etc/cron.allow ikopo basi mtumiaji anayetaka kuhariri faili ya crontab lazima awe katika faili hiyo. Ikiwa faili ya cron.allow haipo lakini kuna faili ya /etc/cron.deny basi mtumiaji haipaswi kuwepo katika faili hiyo.

Ikiwa mafaili mawili yanapo hapo basi /etc/cron.allow inapitia faili ya /etc/cron.deny.

Ikiwa hakuna faili ipopo inategemea usanidi wa mfumo ikiwa mtumiaji anaweza kubadilisha crontab.

Mtumiaji wa mizizi anaweza kuhariri faili ya crontab daima. Unaweza kutumia amri ya su kwa kubadili mtumiaji wa mizizi au amri ya sudo ili kuendesha amri ya crontab.

Uhariri faili la Crontab

Kila mtumiaji ambaye ana ruhusa anaweza kuunda faili yao ya crontab. Amri ya cron kimsingi inaonekana kuwepo kwa faili nyingi za crontab na huendesha kwa njia zote.

Kuangalia kama una faili ya crontab kukimbia amri ifuatayo:

crontab -l

Ikiwa huna faili ya crontab ujumbe "hakuna crontab kwa " itaonekana vinginevyo faili yako ya crontab itaonyeshwa (utendaji huu hutofautiana na mfumo na mfumo, wakati mwingine hauonyeshi chochote wakati mwingine na huonyesha, " usihariri faili hii ").

Kuunda au kubadilisha faili ya crontab kuendesha amri ifuatayo:

crontab -e

Kwa default ikiwa hakuna mhariri wa chaguo-msingi aliyechaguliwa basi utaulizwa kuchagua mhariri default kutumia. Binafsi Mimi napenda kutumia nano kama ni sawa mbele ya kutumia na inaendesha kutoka terminal.

Faili inayofungua ina habari nyingi lakini sehemu muhimu ni mfano tu kabla ya mwisho wa sehemu ya maoni (maoni yanatokana na mistari inayoanza na #).

# mh dom mon dow amri

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

Kuna vipande 6 vya habari vinavyofaa kwenye kila mstari wa faili ya crontab:

Kwa kila kitu (isipokuwa kwa amri) unaweza kutaja tabia ya wildcard. Angalia mfano wafuatayo wa crontab:

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

Nini amri ya hapo juu inasema ni saa dakika 30, masaa 18 na siku yoyote, mwezi na siku ya wiki huendesha amri ya zip na kufuata saraka ya nyumbani kwenye folder / var / backups folda.

Ili kupata amri ya kukimbia kwa dakika 30 iliyopita kila saa ninaweza kukimbia amri ifuatayo:

30 * * * * amri

Ili kupata amri ya kukimbia kila dakika zilizopita saa 6 jioni nitaweza kukimbia amri ifuatayo:

18 * * * amri

Kwa hiyo unapaswa kuwa makini kuhusu kuanzisha amri zako za crontab.

Kwa mfano:

* * * Amri 1

Amri ya hapo juu ingeendeshwa kila dakika ya kila saa ya kila siku ya kila wiki mwezi Januari. Nina shaka kuwa ndio unayotaka.

Kuendesha amri saa 5 asubuhi tarehe 1 Januari ungependa amri yafuatayo kwenye faili ya crontab:

0 5 1 1 * amri

Jinsi ya Kuondoa Picha ya Crontab

Mara nyingi hutaki kuondoa faili ya crontab lakini unaweza kutaka kuondoa safu kutoka faili ya crontab.

Hata hivyo kama unataka kuondoa faili ya crontab ya mtumiaji uendesha amri ifuatayo:

crontab -r

Njia salama ya kufanya hivyo ni kukimbia amri ifuatayo:

crontab -i

Hii inauliza swali "una uhakika?" kabla ya kuondoa faili ya crontab.