11 primjera Cron rasporeda zadataka u Linuxu


U ovom ćemo članku pregledati i vidjeti kako možemo automatski rasporediti i pokrenuti Linux zadatke u pozadini u pravilnim intervalima pomoću naredbe Crontab.

Ručno rješavanje čestih poslova zastrašujući je zadatak za administratore sustava i takvi se zadaci mogu zakazati i pokrenuti automatski u pozadini bez ljudske intervencije pomoću cron demona u Linuxu ili Unixu sličnom operativnom sustavu.

Na primjer, možete automatizirati sigurnosno kopiranje Linux sustava, planirati ažuriranja, i sinkronizaciju datoteka i još mnogo toga pomoću Cron demona, koji se koristi za pokretanje zakazanih zadataka iz naredbenog retka ili koristite online alate za generiranje cron poslova.

Cron se budi svake minute i provjerava zakazane zadatke u countable – Crontab (CRON TABle) je tablica u kojoj možemo planirati takve vrste ponovljenih zadataka .

Savjeti: Svaki korisnik može imati vlastiti crontab za izradu, izmjenu i brisanje zadataka. Prema zadanim postavkama cron je omogućen za korisnike, međutim, možemo ograničiti korisnike dodavanjem unosa u datoteku /etc/cron.deny.

Crontab u Linuxu

Datoteka Crontab sastoji se od naredbi po retku i zapravo ima šest polja odvojenih razmakom ili tabulatorom. Početnih pet polja predstavlja vrijeme za izvođenje zadataka, a posljednje polje je za naredbu.

  • Minuta (zadrži vrijednosti između 0-59)
  • Sat (zadrži vrijednosti između 0-23)
  • Dan u mjesecu (zadrži vrijednosti između 1-31)
  • Mjesec u godini (drži vrijednosti između 1-12 ili siječanj-prosi, možete koristiti prva tri slova naziva svakog mjeseca, npr. siječanj ili lipanj<.)
  • Dan u tjednu (zadržite vrijednosti između 0-6 ili ned-sub, ovdje također možete koristiti prva tri slova naziva svakog dana, npr. ned ili srijeda<. )
  • Naredba – /path/to/naredba ili skripta koju želite zakazati.

1. Popis Crontab unosa

Popis ili upravljanje zadatkom pomoću naredbe crontab s -l opcijom za trenutnog korisnika.

crontab -l

00 10 * * * /bin/ls >/ls.txt

2. Uredite Crontab unose

Za uređivanje crontab unosa koristite -e opciju prikazanu ispod. Primjer u nastavku otvorit će zakazane poslove u uređivaču VI. Napravite potrebne promjene i prestanite pritiskati tipke :wq koje automatski spremaju postavke.

crontab -e

3. Popis zakazanih Cron poslova korisnika

Za popis zakazanih poslova određenog korisnika pod nazivom tecmint koristeći opciju -u (Korisnik) i -l (Popis).

crontab -u tecmint -l

no crontab for tecmint

Napomena: Samo root korisnik ima potpune privilegije da vidi crontab unose drugih korisnika. Obični korisnici ne mogu vidjeti druge.

4. Uklonite Crontab unos

Oprez: Crontab s -r parametrom će ukloniti kompletne zakazane poslove bez potvrde Crontaba. Koristite opciju -i prije brisanja korisnikovog crontaba.

crontab -r

5. Pitaj prije brisanja Crontaba

crontab s opcijom -i od vas će se tražiti potvrda od korisnika prije brisanja korisnikovog crontaba.

crontab -i -r

crontab: really delete root's crontab?

6. Dopušteni posebni znakovi (*, -, /, ?, #)

  • Zvjezdica(*) – odgovara svim vrijednostima u polju ili bilo kojoj mogućoj vrijednosti.
  • Crtica (-) – za definiranje raspona.
  • Kosa crta (/) – 1. polje /10 znači svakih deset minuta ili povećanje raspona.
  • Zarez (,) – Za odvajanje stavki.

7. Cron raspored za cijeli sustav

Administrator sustava može koristiti unaprijed definirani cron direktorij kao što je prikazano u nastavku.

  • /etc/cron.d
  • /etc/cron.daily
  • /etc/cron.svaki sat
  • /etc/cron.mjesečno
  • /etc/cron.tjednik

8. Zakažite posao na određeno vrijeme

Donji poslovi brišu prazne datoteke i direktorije iz /tmp u 12:30 svaki dan. Morate spomenuti korisničko ime da biste izvršili naredbu crontab. U donjem primjeru, root korisnik izvodi cron posao.

crontab -e

30 0 * * *   root   find /tmp -type f -empty -delete

9. Posebni nizovi za zajednički raspored

@reboot

Naredba će se pokrenuti kada se sustav ponovno pokrene.

@daily

Jednom dnevno ili možete koristiti @ponoć.

@weekly

Jednom tjedno.

@yearly

Jednom godišnje. možemo koristiti i ključnu riječ @godišnje.

Trebate zamijeniti pet polja naredbe cron s ključnim riječima ako želite koristiti istu.

10. Više naredbi s dvostrukim znakom (&&)

U donjem primjeru, naredba1 i naredba2 izvode se svakodnevno.

crontab -e

@daily <command1> && <command2>

11. Onemogućite obavijesti e-poštom.

Prema zadanim postavkama, cron šalje poštu korisničkom računu koji izvršava cronjob. Ako ga želite onemogućiti, dodajte svoj cron posao slično donjem primjeru. Korištenje opcije >/dev/null 2>&1 na kraju datoteke preusmjerit će sav izlaz cron rezultata pod /dev/null.

[root@tecmint ~]# crontab -e
* * * * * >/dev/null 2>&1

Zaključak: Automatizacija zadataka može nam pomoći da svoje zadatke obavljamo na bolji način, bez pogrešaka i učinkovito. Za više informacija možete pogledati stranicu priručnika za crontab upisivanjem naredbe ‘man crontab’ u svoj terminal.