Kako stvoriti i upravljati Cron poslovima na Linuxu


automatizirati sigurnosne kopije zadataka, čišćenje direktorija, obavijesti itd.

Cron poslovi se izvode u pozadini i neprestano provjeravaju datoteku /etc/crontab te /etc/cron.*/ i /var/spool/cron/ direktoriji. Datoteke cron ne bi se trebale izravno uređivati, a svaki korisnik ima jedinstveni crontab.

Kako onda trebate stvarati i uređivati u200bu200bcron poslove? Uz naredbe crontab. Crontab je metoda koju koristite za stvaranje, uređivanje, instaliranje, deinstaliranje i popis cron poslova.

Naredba za stvaranje i uređivanje cron poslova je ista i jednostavna. A još je hladnije to što ne trebate ponovno pokretati cron nakon stvaranja novih datoteka ili uređivanja postojećih.

$ crontab -e

Sintaksa Cron

Baš kao i sa bilo kojim drugim jezikom, rad s cron-om je puno lakši kad razumijete njegovu sintaksu i postoje dva formata koja biste trebali znati:

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

Objašnjenje gornje cron sintakse:

  • O: Raspon minuta: 0 - 59
  • B: Raspon sati: 0 - 23
  • C: Raspon dana: 0 - 31
  • D: Raspon mjeseci: 0 - 12
  • E: Dani u tjednu se kreću: 0 - 7. Počevši od ponedjeljka, 0 ili 7 predstavlja nedjelju
  • KORISNIČKO IME: zamijenite ovo svojim korisničkim imenom
  • /path/to/command - naziv skripte ili naredbe koju želite zakazati

To nije sve. Cron koristi 3 simbola operatora koji vam omogućavaju da odredite više vrijednosti u polju:

  1. Zvjezdica (*) : navodi sve moguće vrijednosti za polje
  2. Zarez (,) : navodi popis vrijednosti
  3. Crtica (-) : navodi raspon vrijednosti
  4. Razdjelnik (/) : navodi vrijednost koraka

Sad kad znate Cronovu sintaksu i operatore, pogledajmo nekoliko primjera crona.

Primjeri posla za Cron

Prvi korak do izvođenja cron naredbi je instaliranje vašeg crontaba s naredbom:

# crontab -e

Pokrenite /root/backup.sh svaki dan u 3 ujutro:

0 3 * * * /root/backup.sh

Pokrenite script.sh u 16:30, drugog u mjesecu:

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

Pokrenite /scripts/phpscript.php u 22 sata tijekom tjedna:

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

Pokrenite perlscript.pl u 23 minute nakon ponoći, 02:00 i 04:00, svaki dan:

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

Pokrenite Linux naredbu u 04:05 svake nedjelje:

5 4 * * sun /path/to/linuxcommand

Opcije Cron

Navedi cron poslove.

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

Izbriši sve zadatke crontaba.

# crontab -r

Izbriši Cron posao za određenog korisnika.

# crontab -r -u username

Žice u Crontabu

Žice su među omiljenim stvarima programera jer pomažu uštedjeti vrijeme uklanjanjem ponavljajućeg pisanja. Cron ima određene nizove koje možete koristiti za brže stvaranje naredbi:

  1. @hourly : pokrenite svaki sat, tj. "0 * * * *"
  2. @midnight : pokrenite jednom dnevno, tj. "0 0 * * *"
  3. @daily : isto kao i ponoć
  4. @weekly : pokrenite jednom tjedno, tj. „0 0 * * 0“
  5. @monthly : pokrenite jednom mjesečno, tj. "0 0 1 * *"
  6. @ svake godine : pokrenite jednom godišnje, tj. "0 0 1 1 *"
  7. @godine : isto kao i @ godišnje
  8. @reboot : pokrenite jednom prilikom svakog pokretanja

Na primjer, evo kako sigurnosno kopirati sustav svaki dan:

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

U ovom trenutku imate sve što vam je potrebno za stvaranje i upravljanje sistemskim zadacima pomoću Crona. Sada možete početi postavljati i održavati nekoliko okruženja pomoću planiranih naredbi.

Koliki ste korisnik Crona? Možete li dodati neke detalje članku? Okvir za raspravu nalazi se u nastavku.

Kada shvatite dovoljno o tome kako Crontab radi, možete koristiti ove izvrsne uslužne programe Crontab za besplatno generiranje crontab linija.

Također, ovdje možete pročitati Ubuntu-ov članak o korištenju Crona. Ima resurse koji bi vam mogli biti korisni.