Kaip sukurti ir valdyti „Cron“ darbo vietas sistemoje „Linux“


automatizuoti atsargines užduotis, katalogų valymą, pranešimus ir kt.

„Cron“ užduotys veikia fone ir nuolat tikrina failą /etc/crontab ir /etc/cron.*/ ir /var/spool/cron/ katalogai. Cron failai nėra tiesiogiai redaguojami ir kiekvienas vartotojas turi unikalų crontab.

Kaip tada turėtumėte kurti ir redaguoti „cron“ darbo vietas? Su crontab komandomis. „Crontab“ yra metodas, kurį naudojate kurdami, redaguodami, diegdami, pašalindami ir pateikdami „cron“ darbų sąrašą.

„Cron“ darbo vietų kūrimo ir redagavimo komanda yra ta pati ir paprasta. O dar šauniau yra tai, kad sukūrus naujus failus ar redagavus esamus nereikia atnaujinti „cron“.

$ crontab -e

Kronų sintaksė

Kaip ir bet kuria kalba, dirbti su „cron“ yra daug lengviau, kai supranti jo sintaksę ir yra 2 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

Ankstesnės cron sintaksės paaiškinimas:

  • A: minučių intervalas: 0–59
  • B: Valandų intervalas: 0–23
  • C: dienų diapazonas: 0–31
  • D: mėnesių intervalas: 0–12
  • E: savaitės dienos svyruoja nuo 0 iki 7. Nuo pirmadienio 0 arba 7 reiškia sekmadienį
  • USERNAME: pakeiskite tai savo vartotojo vardu
  • /path/to/command - scenarijaus ar komandos, kurią norite suplanuoti, pavadinimas

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

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

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

„Cron“ darbo pavyzdžiai

Pirmasis „cron“ komandų vykdymo žingsnis yra įdiegti „crontab“ su komanda:

# crontab -e

Vykdykite /root/backup.sh kiekvieną dieną 3 valandą ryto:

0 3 * * * /root/backup.sh

Vykdykite script.sh kiekvieno mėnesio antrą valandą 16:30.

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

Paleiskite /scripts/phpscript.php savaitės 22 val.:

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

Vykdykite perlscript.pl kasdien 23 minutes po vidurnakčio, 2–4 val.:

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

Vykdykite „Linux“ komandą kiekvieną sekmadienį 04:05:

5 4 * * sun /path/to/linuxcommand

„Cron“ parinktys

Išvardinkite cron darbus.

# crontab -l
OR
# crontab -u username -l

Ištrinkite visus „crontab“ darbus.

# crontab -r

Ištrinti konkretaus vartotojo „Cron“ užduotį.

# crontab -r -u username

Stygos „Crontab“

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

  1. @hourly : paleiskite kartą per valandą, ty „0 * * * *“
  2. @midnight : paleiskite kartą per dieną, t. y. „0 0 * * *“
  3. @dienos : tas pats, kas vidurnaktis
  4. @weekly : vykdykite kartą per savaitę, t. y. „0 0 * * 0“
  5. @monthly : vykdykite kartą per mėnesį, t. y. „0 0 1 * *“
  6. @manually : vykdykite kartą per metus, t. y. „0 0 1 1 *“
  7. @yearly : tas pats, kas @manually
  8. @reboot : paleiskite vieną kartą per kiekvieną paleidimą

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

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

Šiuo metu jūs turite viską, ko reikia norint sukurti ir valdyti sistemos užduotis naudojant „Cron“. Dabar galite pradėti kurti ir prižiūrėti kelias aplinkas naudodami suplanuotas komandas.

Kiek jūs esate „Cron“ vartotojas? Ir ar yra kokios nors informacijos, kuria galite prisidėti prie straipsnio? Diskusijų langelis yra žemiau.

Kai pakankamai suprantate, kaip veikia „Crontab“, galite nemokamai naudoti šias puikias „Crontab“ generatoriaus komunalines paslaugas, kad generuotumėte „crontab“ linijas.

Be to, čia galite perskaityti „Ubuntu“ straipsnį apie tai, kaip naudoti „Cron“. Ji turi išteklių, kurie jums gali būti naudingi.