Vodič za Cron izraze

1. Pregled

Jednostavno rečeno, cron je osnovni uslužni program dostupan na Unix sustavima. Omogućuje korisnicima da planiraju periodično izvršavanje zadataka u određeni datum / vrijeme. I, prirodno, to je izvrstan alat za automatizaciju mnogih procesa koji bi inače zahtijevali ljudsku intervenciju.

Cron se izvodi kao daemon proces - to znači da ga treba pokrenuti samo jednom i nastavit će se izvoditi u pozadini. Ovaj postupak koristi krontab za čitanje unosa rasporeda i započinjanje zadataka.

Tijekom vremena, format izraza cron postao je široko prihvaćen i mnogi drugi programi i knjižnice to koriste.

2. Rad s Crontab

A cron raspored je jednostavna tekstualna datoteka smještena pod / var / spool / cron / crontabs na Linux sustavima. Ne možemo uređivati krontab datoteke izravno; trebamo mu pristupiti pomoću krontab naredba.

Na primjer, otvoriti krontab datoteku, trebamo aktivirati ovu naredbu:

crontab -e

Svaki redak u krontab je unos s izrazom i naredbom za pokretanje:

* * * * * /usr/local/ispconfig/server/server.sh

Ovaj unos pokreće spomenutu skriptu svake minute.

3. Cron izraz

Razumijemo cron izraz; sastoji se od pet polja:

3.1. Posebni likovi u izražavanju

  • * (svi) - određuje da bi se događaj trebao dogoditi za svaku vremensku jedinicu. Na primjer, “*” u <minuta> polje - znači "za svaku minutu"
  • ? (bilo koji) - koristi se u <dan u mjesecu> i <dan u tjednu>polja za označavanje proizvoljne vrijednosti - zanemarite vrijednost polja. Na primjer, ako želimo aktivirati skriptu na „5. u mjesecu“, bez obzira na to koji dan u tjednu pada na taj datum, tada navodimo „?”U <dan u tjednu> polje
  • - (raspon) - određuje raspon vrijednosti. Na primjer, "10-11”U polje znači "10. i 11. sat"
  • , (vrijednosti) - navodi više vrijednosti. Na primjer, "PON, SRIJED, PET “ u <dan u tjednu> polje znači u dane "ponedjeljak, srijeda i petak"
  • / (priraštaji) - određuje inkrementalne vrijednosti. Na primjer, a “5/15” u <minuta>polje, znači na "5, 20, 35 i 50 minuta sata"
  • L (zadnji) - ima različita značenja kada se koristi u raznim poljima. Na primjer, ako se primjenjuje u <dan u mjesecu>polje, onda to znači zadnji dan u mjesecu, tj. "31. za siječanj" i tako dalje prema kalendarskom mjesecu. Može se koristiti s pomakom, poput "L-3“, Koji označava„ treći do posljednji dan kalendarskog mjeseca “. U <dan u tjednu>, određuje „zadnji dan u tjednu“. Također se može koristiti s drugom vrijednošću u <dan u tjednu>, Kao "6L“, Što označava„ prošli petak “
  • Z (radnim danom) - određuje dan u tjednu (od ponedjeljka do petka) najbliži danu u mjesecu. Na primjer, ako odredimo “10W”U <dan u mjesecu>polje, onda to znači "radni dan blizu 10. u mjesecu". Dakle, ako je "10." subota, tada će se posao pokrenuti "9.", a ako je "10." nedjelja, tada će se pokrenuti "11.". Ako odredimo “1W”U <dan u mjesecu> a ako je "1." subota, tada će se posao pokrenuti "3.", a to je ponedjeljak, i neće se vratiti na prethodni mjesec
  • # - navodi „N-th "pojava radnog dana u mjesecu, na primjer," 3. petak u mjesecu "može se označiti kao"6#3

3.2. Primjeri izraza Cron

Pogledajmo nekoliko primjera cron izraz pomoću kombinacija polja i specijalnih znakova:

U 12:00 sati (podne) svaki dan:

0 12 * * ?

Svakih 5 minuta s početkom u 13 sati i završetka u 13:55, a zatim s početkom u 18 sati i završetka u 18:55, svaki dan:

0/5 13,18 * * ?

Svake minute s početkom u 13 sati i završetka u 13:05, svaki dan:

0-5 13 * * ?

U lipnju u 13:15 i 13:45 svakog utorka:

15,45 13? 6 uto

U 9:30 svakog ponedjeljka, utorka, srijede, četvrtka i petka:

30 9? * PON-PET

U 9:30 ujutro, 15. dana u mjesecu:

30 9 15 * ?

Posljednjeg dana u mjesecu u 18 sati:

0 18 L *?

U 18 sati 3. do posljednjeg dana u mjesecu:

0 18 L-3 *?

Posljednjeg četvrtka u mjesecu u 10:30:

30 10? * 5L

Trećeg ponedjeljka u mjesecu u 10 sati:

0 10 ? * 2#3

U 12 sati u ponoć svakog dana tijekom pet dana, počevši od 10. u mjesecu:

0 0 10/5 * ?

4. Cron posebne žice

Uz polja navedena u izrazu cron, tu je i podrška za neke posebne, unaprijed definirane vrijednosti - koje možemo koristiti umjesto polja:

  • @ponovno podizanje sustava- trčanje jednom prilikom pokretanja
  • @godišnje ili @ godišnji - trčati jednom godišnje
  • @mjesečno- trčati jednom mjesečno
  • @tjedni- trčati jednom tjedno
  • @dnevnoili @ponoć- trčati jednom dnevno
  • @ satno- trčati svaki sat

5. Zaključak

U ovom kratkom članku istražili smo cron poslovi i krontab.

Također smo vidjeli brojne primjere izraza koje možemo koristiti u svakodnevnom radu ili jednostavno zaključiti iz drugih izraza.