Kaip sukurti ir valdyti „Cron Jobs“ sistemoje „Linux“.


„Cron“ yra vienas iš naudingiausių „Linux“ įrankių ir mėgstamiausias kūrėjų, nes jis leidžia paleisti automatizuotas komandas tam tikrais laikotarpiais, datomis ir intervalais, naudojant tiek bendrosios paskirties, tiek konkrečioms užduotims skirtus scenarijus. Atsižvelgdami į šį aprašymą, galite įsivaizduoti, kaip sistemos administratoriai jį naudoja automatizuodami atsargines kopijas, katalogų valymą, pranešimus ir kt.

Cron užduotys veikia fone ir nuolat tikrina /etc/crontab failą ir /etc/cron.*/ ir /var/spool/cron/ katalogus. Cron failai neturėtų būti tiesiogiai redaguojami ir kiekvienas vartotojas turi unikalų crontab.

Kaip tuomet turėtumėte kurti ir redaguoti cron užduotis? Su crontab komandomis. „Crontab“ yra metodas, kurį naudojate kurdami, redaguodami, diegdami, pašalindami ir išvardydami cron užduotis.

Cron užduočių kūrimo ir redagavimo komanda yra ta pati ir paprasta. O dar šauniau yra tai, kad jums nereikia iš naujo paleisti cron sukūrus naujus failus ar redagavus esamus.


crontab -e

Cron sintaksė

Kaip ir su bet kuria kalba, dirbti su cron yra daug lengviau, kai suprantate jos sintaksę ir yra du formatai, kuriuos turėtumėte žinoti:


A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Aukščiau pateiktos cron sintaksės paaiškinimas:

  • A: Minutės diapazonas: 0–59
  • B: valandų diapazonas: 0–23
  • C: dienų diapazonas: 0–31
  • D: mėnesių diapazonas: 0–12
  • E: savaitės dienų diapazonas: 0–7. Nuo pirmadienio 0 arba 7 reiškia sekmadienį
  • USERNAME: pakeiskite jį savo naudotojo vardu
  • /path/to/command – scenarijaus arba komandos, kurią norite suplanuoti, pavadinimas

Tai dar ne viskas. Cron naudoja 3 operatorių simbolius, kurie leidžia nurodyti kelias reikšmes lauke:

  1. Žvaigždutė (*): nurodo visas galimas lauko reikšmes
  2. Kablelis (,): nurodo reikšmių sąrašą
  3. Brūkšnys (-): nurodo reikšmių diapazoną
  4. Skyriklis (/): nurodo žingsnio reikšmę

Dabar, kai žinote Cron sintaksę ir operatorius, pažiūrėkime keletą cron pavyzdžių.

Cron darbo pavyzdžiai

Pirmasis cron komandų vykdymo veiksmas yra crontab įdiegimas naudojant komandą:


crontab -e

Paleiskite /root/backup.sh 3 val. kiekvieną dieną:


0 3 * * * /root/backup.sh

Paleiskite script.sh kiekvieno mėnesio antrąją 16.30 val.:

30 16 2 * * /path/to/script.sh

Paleiskite /scripts/phpscript.php 22 val. per savaitę:

0 22 * * 1-5 /scripts/phpscript.php

Paleiskite perlscript.pl 23 minutes po vidurnakčio, 2 ir 4 val. kasdien:

23 0-23/2 * * * /path/to/perlscript.pl

Paleiskite Linux komandą 04:05 kiekvieną sekmadienį:

5 4 * * sun /path/to/linuxcommand

„Cron“ parinktys

Išvardykite cron darbus.


crontab -l
OR
crontab -u username -l

Ištrinti visas crontab užduotis.

crontab -r

Ištrinkite konkretaus vartotojo Cron užduotį.


crontab -r -u username

Stygos Crontab

Stygos yra vieni mėgstamiausių kūrėjo dalykų, nes padeda sutaupyti laiko, pašalindami pasikartojantį rašymą. „Cron“ turi konkrečias eilutes, kurias galite naudoti norėdami greičiau sukurti komandas:

  1. @hourly: paleisti kartą per valandą, t. y. „0 * * * *
  2. @midnight: paleiskite kartą per dieną, pvz., „0 0 * * *
  3. @daily: tas pats kaip vidurnaktis
  4. @weekly: paleiskite kartą per savaitę, t. y. „0 0 * * 0
  5. @monthly: paleisti kartą per mėnesį, t. y. „0 0 1 * *
  6. @kasmet: paleisti kartą per metus, t. y. „0 0 1 1 *
  7. @yearly: tas pats, kas @kasmet
  8. @reboot: paleiskite vieną kartą kiekvieną kartą paleidžiant

Pavyzdžiui, taip kiekvieną dieną sukurkite atsarginę sistemos kopiją:

@daily /path/to/backup/script.sh

Šiuo metu turite viską, ko reikia sistemos užduotims kurti ir valdyti naudodami Cron. Dabar galite pradėti nustatyti ir prižiūrėti kelias aplinkas naudodami suplanuotas komandas.

Kiek esate Cron naudotojas? Ir ar yra kokių nors detalių, kurias galite prisidėti prie straipsnio? Diskusijų langelis yra žemiau.

Kai pakankamai suprasite, kaip veikia „Crontab“, galite naudoti šias puikias „Crontab“ generatoriaus programas, kad sukurtumėte „crontab“ eilutes nemokamai.

Taip pat čia galite perskaityti Ubuntu straipsnį apie tai, kaip naudoti Cron. Jame yra išteklių, kurie jums gali būti naudingi.