Cron je učinkovit i popularan uslužni program naredbenog retka koji se koristi za planiranje širokog spektra zadataka u određeno vrijeme bez interakcije korisnika. Zakazani zadaci poznati su kao cron poslovi, dok je crontab popis datoteke koja sadrži cron zadatke.
U ovom ćemo članku objasniti s raznim primjerima emisija koje možete uređivati i koristiti crontab datoteku kako biste zakazali zadatke u sustavu Debian 10.
Cron se može koristiti za automatizaciju zadataka u sljedećim scenarijima:
- Izrada sigurnosnih kopija rasporeda,
- Provjera prostora na disku u određenom intervalu,
- Pokretanje automatskog održavanja,
- Povremeno uklanjanje neželjenih datoteka,
- Pokretanje mrežne dijagnostike
Sintaksa
Lakše je raditi s cronom, nakon što shvatite njegovu sintaksu. Općenita sintaksa korištenja crona je:
* * * * / put / do / skripte.shSvako od polja odgovara sljedećem:
Minuta (0-59) Sat (0-24) Dan_mjeseca (1-7) Mjesec_Godine (1-12)Naredba Dan_tjedna (0-6)
Instaliranje Crona
Cron dolazi predinstaliran u Debian 10. Međutim, ako nedostaje u vašem sustavu, pokrenite sljedeću naredbu da biste ga instalirali:
$ sudo apt instaliraj cronPogledajte crontab
Da biste pogledali crontab datoteku, upotrijebite sljedeću naredbu:
$ crontab -lDa biste pogledali crontab datoteku određenog korisnika, upotrijebite sljedeću naredbu:
$ sudo crontab -u korisnik -lUredi crontab
Da biste uredili datoteku crontab trenutnog korisnika:
$ crontab -eDa biste uredili datoteku crontab određenog korisnika:
$ sudo crontab -u korisnikAko prvi put uređujete datoteku crontab, morat ćete odabrati uređivač:
Nakon što odaberete uređivač, pojavit će se sljedeći prozor.
Na primjer, želite pokrenuti sigurnosnu kopiju skriptu pod nazivom „sigurnosna kopija.sh ”nalazi se u direktoriju dokumenata svakodnevno u 02:00. Da biste to učinili, morat ćete dodati sljedeći redak u svoju crontab datoteku:
0 2 * * * / Dokumenti / sigurnosna kopija.sh
U gornji prozor možete dodati svoje cron poslove jedan po jedan. Kada završite, spremite i zatvorite datoteku, nakon čega će se svi cron poslovi automatski pokrenuti u zadanom intervalu.
Uklonite crontab
Da biste uklonili datoteku crontab, unesite sljedeću naredbu u Terminal:
$ crontab -rSada ćemo proći kroz niz primjera cron poslova na linux stroju.
1. Pokrenite cron posao svake minute
Da biste izvršili cron posao svake minute, dodajte sljedeći redak u svoju crontab datoteku:
* * * * * / put / do / skripta.sh2. Pokrenite cron posao nakon svakih 10 minuta
Da biste zakazali izvršavanje zadatka cron nakon svakih 10 minuta, dodajte sljedeći redak u datoteku crontab.
* / 10 * * * * / put / do / skripta.sh3. Pokrenite cron posao određenih mjeseci
Zakazati izvršavanje posla cron za određene mjesece e.g. Ožujak, kolovoz, prosinac, dodajte cron posao u svoju crontab datoteku na sljedeći način:
* * * jan, svibanj, aug * / path / to / script.sh4. Pokreni cron posao odabranim danima
Ako želite da se vaš cron posao izvršava u odabrane dane, pretpostavimo u nedjelju i petak u 17 sati, to bi trebalo izgledati kao sljedeće.
0 17 * * sunce, pet / put / do / skripte.sh5. Pokrenite cron posao svakodnevno u određeno vrijeme
Da biste zakazali svakodnevno izvršavanje zadatka cron u određeno vrijeme, recimo u 3 ujutro, dodajte ovaj redak u svoju crontab datoteku.
0 3 * * * / put / do / skripte.sh6. Pokrenite cron posao određenog dana
Da biste zakazali izvršavanje zadatka cron određenog dana, recimo svake nedjelje, dodajte ovaj redak u svoju crontab datoteku.
0 0 * * SUNCE / put / do / skripte.shPosao će trajati svake nedjelje u 00:00.
7. Izvedite više zadataka u jednom cron poslu
Da biste zakazali više zadataka u jednom cron poslu, dodajte sve skripte u svoju crontab datoteku razdvajajući ih zarezom i zarezom.
* * * * * / put / do / script1.sh; / put / do / script2.sh8. Pokrenite cron posao svaki radnim danom
Da biste zakazali izvršavanje zadatka cron za svaki dan u tjednu, od ponedjeljka do petka, morat ćete dodati ovaj redak u svoju crontab datoteku.
0 0 * * 1-5 / put / do / skripte.shPosao će trajati svakog radnog dana u 00:00.
9. Izvodite cron posao dva puta dnevno
Zakazati posao koji će se izvoditi dva puta dnevno e.g. u 6 ujutro i 15 sati, morat ćete dodati ovaj redak u svoju crontab datoteku:
0 6,15 * * * / put / do / skripta.sh10. Pokrenite cron posao svaki sat
Da biste zakazali izvršavanje zadatka cron svakog sata u minuti 0, morat ćete dodati ovaj redak u datoteku crontab:
0 * * * * / put / do / skripte.shNa primjer, ako je trenutno vrijeme 14 sati, posao će se izvoditi u 15:00, 16:00 i tako dalje.
11. Pokrenite cron posao nakon svaka 3 sata
Da biste zakazali pokretanje cron posla nakon svaka 3 sata u minuti 0, morat ćete dodati ovaj redak u svoju crontab datoteku:
0 * / 3 * * * / put / do / skripta.shNa primjer, ako je trenutno vrijeme 14 sati, posao će se izvoditi u 17:00, 20:00 i tako dalje.
12. Pokrenite cron posao prvog u mjesecu u 16:00
Da biste zakazali da se posao izvodi prvi u mjesecu u 16:00, morat ćete dodati ovaj redak u datoteku crontab:
0 16 1 * * / put / do / skripte.shŽice u Crontabu
Također možete koristiti sljedeće nizove umjesto dugih ponavljajućih naredbi.
@ hourly- Pokrenite cron posao svaki sat i.e. "0 * * * *"@ ponoć- Pokreni cron posao svaki dan i.e. "0 0 * * *"
@ dnevno- isto kao i ponoć
@ tjedno - Pokrenite cron posao svaki tjedan, tj.e. "0 0 * * 0"
@ mjesečno- Pokrenite cron posao svakog mjeseca i.e. "0 0 1 * *"
@ godišnje - Pokrenite cron posao svake godine i.e. "0 0 1 1 *"
@ godišnje - isto kao i @ godišnje
@ reboot - Pokrenite cron posao pri svakom pokretanju
Na primjer, da biste pokrenuli posao cron svaki dan u prvoj minuti i prvom satu, dodajte sljedeći redak:
@daily / path / to / script.shNa primjer, za pokretanje cron posla svaki put kada se poslužitelj ponovno pokrene:
@reboot / path / to / script.shTo je sve! U ovom smo članku naučili kako automatizirati razne zadatke pomoću crontab-a u sustavu Debian. Koristeći gornje primjere, možete zakazati pokretanje bilo kojeg posla bez ikakve interakcije s korisnikom.