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.