Introduzzjoni
Hemm daemon f'linja Linux imsejħa cron li tintuża biex tmexxi l-proċessi f'intervalli regolari.
Il-mod kif tagħmel dan huwa li jiċċekkja ċerti folders fis-sistema tiegħek għal skripts biex imexxu. Pereżempju hemm folder imsejjaħ /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly u /etc/cron.monthly. Hemm ukoll fajl msejjaħ / etc / crontab.
B'mod default inti tista 'sempliċiment tqiegħed skripts fil-folders rilevanti biex twassalhom biex imexxu intervalli regolari.
Per eżempju, tiftaħ tieqa tat-terminal (billi tagħfas CTRL, ALT u T) u ġġesti l-kmand li ġej:
ls / etc / cron *
Se tara l-lista ta 'programmi jew skripts li jaħdmu kull siegħa, kuljum, kull ġimgħa u kull xahar.
Il-problemi b'dawn il-folders huma li huma daqsxejn vagi. Per eżempju kuljum ifisser li l-iskrittura se tibda darba kuljum iżda m'għandekx kontroll fuq iż-żmien li l-iskritt se jimxi matul dik il-ġurnata.
Dan huwa fejn taqa 'l-fajl crontab.
Permezz tal-editjar tal-fajl crontab tista 'tikseb skript jew programm biex titmexxa fid-data u l-ħin eżatt li tkun trid titħaddem. Per eżempju forsi inti tixtieq li ssib il-fajls tiegħek kull lejl fis-6 pm.
Permessi
L-ordni crontab teħtieġ li l-utent ikollu permessi biex jeditjaw fajl crontab. Bażikament hemm żewġ fajls li jintużaw biex jamministraw il-permessi crontab:
- /etc/cron.allow
- /etc/cron.deny
Jekk il-fajl /etc/cron.allow jeżisti allura l-utent li jixtieq jeditja l-fajl crontab għandu jkun f'dak il-fajl. Jekk il-fajl cron.allow ma jeżistix iżda hemm fajl /etc/cron.deny allura l-utent m'għandux jeżisti f'dak il-fajl.
Jekk iż-żewġ fajls jeżistu allura /etc/cron.allow jissupera lill-fajl /etc/cron.deny.
Jekk l-ebda fajl ma jeżisti allura jiddependi fuq il-konfigurazzjoni tas-sistema jekk utent jistax jeditja l-crontab.
L-utent ta 'l-għeruq jista' dejjem jeditja l-fajl crontab. Int tista 'tuża l -kmand tas-swaba' biex taqleb għall-utent ta 'l-għerq jew il -kmand sudo biex tmexxi l-kmand crontab.
Editjar tal-Fajl tas-Crontab
Kull utent li għandu permessi jista 'joħloq fajl crontab tagħhom stess. Il-kmand cron bażikament jistenna l-eżistenza ta 'fajls crontab multipli u jgħaddi minnhom kollha.
Biex tivverifika jekk għandekx fajl crontab imexxi l-kmand li ġej:
crontab -l
Jekk m'għandekx fajl crontab il-messaġġ "l-ebda crontab għal
Biex toħloq jew teditja fajl crontab, ejja l-kmand li ġej:
crontab -e
B'mod default jekk ma jkun hemm l-ebda editur awtomatiku magħżul allura inti se tintalab tagħżel editur default biex tużaha. Personalment nixtieq nuża nano peress li huwa pjuttost dritta li juża u jibda mit-terminal.
Il-fajl li jiftaħ għandu ħafna informazzjoni iżda l-parti ewlenija hija l-eżempju eżatt qabel it-tmiem tat-taqsima tal-kummenti (il-kummenti huma mmarkati b'linji li jibdew b'numru).
# mh dom mon dow kmand
0 5 * * 1 tar-zcf /var/backups/home.tgz / home /
Hemm 6 biċċiet ta 'informazzjoni li jaqblu fuq kull linja tal-fajl crontab:
- Il-minuta tal-ġurnata li l-kmand għandu jiddekorri (m)
- Is-siegħa tal-ġurnata li fiha l-kmand għandu jimxi (h)
- Il-jum tax-xahar il-kmand għandu jiddekorri (dom)
- Ix-xahar li l-kmand għandu jiddekorri (mon)
- Il-jum tal-ġimgħa l-kmand għandu jiddekorri (dow)
- Il-kmand
Għal kull oġġett (ħlief għall-kmand) tista 'tispeċifika karattru wildcard. Ħares lejn l-eżempju li ġej crontab line:
30 18 * * * tar-zcf /var/backups/home.tgz / home /
Dak li qal il-kmand t'hawn fuq huwa ta '30 minuta, 18-il siegħa u kwalunkwe ġurnata, xahar u jum tal-ġimgħa jmexxu kmand biex iżommu zip u qatran id-direttorju tad-dar fil-folder / var / backups.
Biex tikseb kmand biex imexxi 30 minuta 'l quddiem kull siegħa nista' tmexxi l-kmand li ġej:
30 * * * * kmand
Biex tikseb kmand biex imexxi kull minuta fis-6 pm nista 'mmexxi l-kmand li ġej:
* 18 * * * kmand
Għandek għalhekk toqgħod attent dwar it-twaqqif tal-kmandijiet crontab tiegħek.
Per eżempju:
* * * 1 * kmand
Il-kmand ta 'hawn fuq se jimxi kull minuta ta' kull siegħa ta 'kull jum ta' kull ġimgħa f'Jannar. Niddubita li dan huwa dak li trid.
Biex tmexxi kmand fil-5 am tal-1 ta 'Jannar intom fil-kmand li ġej fil-fajl crontab:
0 5 1 1 * kmand
Kif Neħħi A Crontab File
Maġġoranza tal-ħin ma tridx tneħħi l-fajl crontab iżda tista 'tkun trid tneħħi xi ringieli mill-fajl crontab.
Madankollu, jekk trid tneħħi l-fajl crontab ta 'l-utent tiegħek, imexxu l-kmand li ġej:
crontab -r
Mod aktar sikur biex isir dan hu li titmexxa l-kmand li ġej:
crontab -i
Dan jitlob il-mistoqsija "int żgur?" qabel ma tneħħi l-fajl crontab.