Ovo je drugi članak iz serije u kojoj koristimo listu onoga što Katolička crkva naziva "smrtnim grijesima" kao izgovor za cSaznajte više o naredbama i programima Linux svijeta. U ovom slučaju nastavljamo razgovor o upotrebi cron-a koji će biti vrlo koristan za one koji neguju lijenost.
S obzirom na to da živimo u vremenu ljudi koje je lako uvrijediti, da pojasnim, prije nego što se upustim u to, da mi nije namjera da se rugam nečijim vjerskim uvjerenjima. U svakom slučaju, to je samoizrugivanje. Veliki dio XNUMX-ih proveo sam proučavajući katekizam, tako da nakon prve pričesti više nisam kročio u crkvu osim ako neki porodični događaj to nije zahtijevao. Moram nekako vratiti to vrijeme.
Čemu služe cron i crontab?
Rekli smo da je cron demon, tj program koji radi u pozadini bez intervencije korisnika. Tražeći dodatne informacije za ovaj članak, otkrio sam da je prevođenje demona (način na koji Unix sistemi i derivati nazivaju ovu vrstu programa) kao daemon široko rasprostranjena greškaali neću to ispravljati. Govorimo o grijesima, mora postojati barem jedan demon.
Funkcija cron-a je da izvrši, u prethodno određeno vrijeme, određeni zadatak. Većinu vremena to je zbog potreba sistema, iako korisnici mogu naznačiti druge uređujući tekstualni fajl poznat kao crontab.
U prethodnom postu smo rekli da su naredbe za kreiranje crontab-a:
crontab –e
za podrazumevanog korisnika
O
crontab –u nombre_de_usuario
za bilo koji od ostalih.
Crontab je tekstualna datoteka koja daje Cron upute o tome šta i kada treba učiniti.
O korištenju cron preko crontab
Za kreiranje našeg crontab-a moramo uzeti u obzir sljedeće:
- Za svaki zadatak se koristi jedna linija.
- Datum i vrijeme izvršenja zadatka moraju biti naznačeni. U slučaju da se radi o zadatku koji zahtijeva periodičnost. Na primjer, svake srijede u 5 ujutro, ostali parametri se zamjenjuju zvjezdicama (*).
- Ako želite dodijeliti više od jedne vrijednosti za dati parametar, svaka vrijednost mora biti odvojena zarezom.
- Parametri su odvojeni razmakom.
- Direktorij u kojem se nalazi pokretač komandi mora biti poznat
Na primjer, ako želimo da se kompjuter naše djece gasi svaki dan u 20:XNUMX sati, instrukcija bi bila
0 20 * * * /sbin/shutdown
U slučaju da želimo da isključenje bude samo nedjeljom, mijenjamo instrukciju u
0 20 * * 0 /sbin/shutdown
Postoje neke prečice koje nas spašavaju od potrebe da upisujemo sve parametre. Oni su:
- @po satu: Izvršite naredbu u sat.
- @dnevno: Pokrenite naredbu na početku svakog dana.
- @tjedni: Pokrenite naredbu na početku prvog dana u sedmici.
- @mjesečno: Pokrenite naredbu na početku prvog dana svakog mjeseca.
- @godino: Izvršite naredbu u prvoj minuti godine.
Neki primjeri korištenja ove naredbe su:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
pokrenite Bash skriptu.
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
pokrenite python skriptu svaki sat.
U svim slučajevima skripte moraju imati dozvole za izvršavanje.
U primjerima koje smo vidjeli nije naznačena samo komanda, već i putanja na kojoj se nalazi izvršni fajl. Radit ćemo sa ovim direktorijima:
- /am: Sadrži sve aplikacije neophodne za rad sistema.
- /sbin: Evo aplikacija koje su potrebne root korisniku za upravljanje sistemom.
- /Dom: Gdje se pohranjuju aplikacije svakog korisnika.
- /usr: Ovdje se pohranjuju aplikacije i fajlovi koje su instalirali korisnici. Oni uključuju datoteke s imenima i funkcijama navedenim u ovoj listi.
U sljedećem članku ćemo vidjeti kako poboljšati pisanje crontab-a i neke druge alate za automatizaciju dostupne za Linux.