Naučite Linux

Kako stvoriti Cron Jobs na Linuxu

Kako stvoriti Cron Jobs na Linuxu

Posao Cron ili Cron vremenski je raspoređivač uobičajen u Linux / Unix sustavima. Planira da se određeni korisnički zadaci povremeno izvode u određenom datumu, vremenu ili intervalima. Većina ovih zadataka su skripte za izvršavanje funkcija poput sigurnosnih kopija i više. Da bismo stvorili ove cron poslove, koristimo naredbe crontab. Crontab je UNIX naredba / uslužni program koji se koristi za stvaranje i upravljanje cron poslovima.

Kao što ćete vidjeti u nastavku, stvaranje i uređivanje cron posla prilično je jednostavno. Nevjerojatan dio je taj da ne trebate ponovno pokretati cron, pa čak ni računalo nakon stvaranja ili uređivanja cron posla. Samo spremite datoteku i spremni ste.

Uobičajena upotreba Cron Jobs-a

Osnovni dijelovi naredbe cron

Standardna sintaksa crontaba je sljedeća:

a b c d e USERNAME / izlaz / put / do / skripta izlaz

1.Vrijeme i datum, zajedno s tim koliko će se posao ponavljati, navedeni su u pet polja:

Napomena: Dani započinju s ponedjeljkom. 0 i 7 predstavljaju nedjelju

2. KORISNIČKO IME: Ne zaboravite ovo zamijeniti svojim korisničkim imenom

3. Specifično mjesto i skripta koje cron treba izvršiti navedeni su trećim segmentom:

/ put / do / skripte

4. Posljednji odjeljak definira obavijest korisniku nakon završetka posla kao način praćenja zadataka:

izlaz

Međutim, vaša je poštanska pošta možda puna manjih zadataka koji se često kanaliziraju. Da biste to izbjegli, možete onemogućiti automatski izlaz e-pošte dodavanjem niza u naredbu cron:

> / dev / null 2> & 1 e.g a b c d e KORISNIČKO IME / put / do / skripta> / dev / null 2> & 1

Uz to, cron koristi još četiri vrijednosti korištene za specificiranje višestrukih vrijednosti u polju. Oni su:

Postavljanje cron poslova

Naredbe crontab odgovorne su za stvaranje i uređivanje cron poslova, jer se datoteke cron ne smiju izravno uređivati. Crontab definira kako možete stvoriti, urediti, popisati, otkloniti pogreške, instalirati i deinstalirati cron zadatke.

Prije nego što započnete s cron poslovima, neophodno je osigurati da su vaša radna površina ili poslužitelj Linux ažurirani izvršavanjem naredbi u nastavku:

sudo apt ažuriranje sudo apt nadogradnja

Ako na vašem sustavu nije instaliran cron paket, instalirajte ga naredbom u nastavku:

sudo apt-get instalirati cron

Instalirajte cron

Kako urediti datoteku crontab?

Da biste dovršili postupak, morat ćete konfigurirati cron posao. Korisnik prijavljen kada se stvori cron posao automatski postaje vlasnik. To se može promijeniti stvaranjem vlasnika posla koji će biti zadužen za upravljanje cron poslom, kao što ćemo vidjeti u ovom postu.

Da biste otvorili konfiguracijsku datoteku crontab za trenutno prijavljenog korisnika, izvršite naredbu u nastavku:

crontab -e

Sustav će vas zatražiti da odaberete odgovarajući uređivač. U našem ćemo slučaju odabrati prvu opciju (nano editor).

crontab -e

Možete dodati jedan planirani zadatak u redak prema vašim željama.

crontab datoteku

Nakon dodavanja zadataka, završite spremanjem datoteke i izađite. Sve pružene upute čitati će i izvršavati cron demon. Promjene će se primijeniti čak i bez ponovnog pokretanja sustava jer se spremište automatski ažurira.

Uredi crontab za drugog korisnika

Crontab se može uređivati ​​za različite korisnike pomoću naredbe u donjoj sintaksi:

crontab -u drugo_korisničko ime -e

Kako se koriste posebni znakovi u naredbama crontab

Znakovi i operatori diktiraju veću prilagodbu vašeg sustava jer proširuju mogućnosti cron zadatka.

0 6 * * 1-5 / root / sigurnosna kopija.sh

Ovdje 06 označava 6:00, a 1-5 označava broj dana (od ponedjeljka do petka).

35 1-23 / 2 * * * / put / do / skripta / skripta.sh

1-23 određuje raspon sati, / 2 postavlja interval na svaki drugi sat.

Opcije Cron

Možda ćete htjeti navesti cron poslove u vašem sustavu bez otključavanja datoteke konfiguracije crontab. To se može učiniti pokretanjem terminala i upisivanjem naredbe u nastavku:

crontab -l

popis cron poslova

Ta naredba navodi sve cron poslove koji su prisutni u vašem sustavu.

Da biste izbrisali sve naredbe crontab, možete koristiti naredbu u nastavku:

crontab -r
crontab -r -u drugo-korisničko ime

Koristite žice u Crontabu

Nizovi su izuzetno korisni alati za programere jer izbjegavaju ponavljano pisanje segmenata koda. Srećom, crontabs podržavaju razne vrijednosti nizova. Oni uključuju:

@ satno: -isto kao i - "0 * * * *" (Izvodi se svaki put sat)
@ponoć:  -isto kao i - "0 0 * * *" (Izvodi se svaki put dan)
@dnevno: isto kao i ponoć
@tjedni:  -isto kao i - „0 0 * * 0“ (Izvodi se svaki put tjedan)
@mjesečno: -isto kao i - "0 0 1 * *" (Izvodi se svaki put mjesec)
@ godišnje: -isto kao i - "0 0 1 1 *" (Izvodi se jednom svaki godina)
@godišnje: slično @ godišnje
@ponovno podizanje sustava: Izvršeno jednom nakon svakog ponovnog pokretanja / ponovnog pokretanja / pokretanja.

Dobar primjer; ako imate skriptu za sigurnosnu kopiju koju želite pokretati svaki dan, upotrijebite naredbu u nastavku:

@daily / path / to / backup_script.sh

Primjeri cron poslova

Evo popisa osnovnih cron poslova koji se mogu koristiti za početak:

    1. Da biste pokrenuli skriptu svake minute:
      * * * * * / vaš / skripta / put.sh
    2. Da biste pokrenuli skriptu svakih 40 minuta:
      40 * * * * / vaša / skripta / put.sh
    3. Da biste pokrenuli skriptu svakog sata:
      0 * * * * / vaš / skripta / put.sh
    4. Da biste pokrenuli skriptu svake ponoći:
      0 0 * * * / vaš / skripta / put.sh
    5. Da biste pokrenuli skriptu svake 23 minute nakon ponoći, 02:00 i 04:00 svaki dan:
      23 0-23 / 2 * * * / vaša / skripta / put.sh
    6. Za pokretanje skripte u 4.05 svake nedjelje.
      5 4 * * sun / your / script / path.sh
    7. Za pokretanje skripte u 22 sata tijekom tjedna.
      0 22 * ​​* 1-5 / vaš / skripta / put.sh
    8. Za pokretanje scenarija 1. prosinca - u ponoć.
      0 0 0 12 * / your / script / path.sh
    9. Za pokretanje scenarija u subotu u ponoć.
      0 0 * * 6 / your / script / path.sh
    10. Za pokretanje skripte Svaki sat.
      0 * * * * / vaš / skripta / put.sh

S ovim osnovnim primjerima ćete dublje razumjeti slijed i način na koji ga je moguće izmijeniti.

Ograničavanje Cron pristupa

Vidimo da cron poslovi mogu vrlo dobro doći, posebno kada želite automatizirati svoje zadatke. Međutim, može biti i rizično ako sustav dopušta bilo kojem korisniku da stvori cron posao. Čak i ako to ne utječe na osobne podatke, neki cron poslovi mogu potrajati prilično veliku količinu sistemskih resursa, što zaostaje za računalom. Da bi izbjegao takve scenarije, administrator sustava (root korisnik) može stvoriti / etc / cron.dopustiti  ili / etc / cron.poricati datoteka koja sadrži samo korisnike koji to mogu 'stvori / ne-stvori' cron posao.

The / etc / cron.dopustiti datoteka sadrži korisnike koji mogu stvarati, uređivati, prikazivati ​​ili uklanjati crontab datoteke. Ako ova datoteka ne postoji, svi korisnici mogu stvarati i upravljati cron poslovima osim onih u / etc / cron.poricati datoteka. Ako nijedna od ovih datoteka nije prisutna, za izvršavanje naredbe crontab potrebne su privilegije korisnika.

cron dopustiti datoteku

Sad kad ste spriječili korisnike koji nisu root da kreiraju cron poslove ako su ih već imali, možete razmisliti o dodavanju njihovih cron poslova u korijensku datoteku crontab. Ali ovdje je zagonetka - dodavanjem njihovih cron poslova u korijenski crontab, zar to ne pokreće njihove cron poslove kao root? Pa, ovdje dolazi do važnosti polja USERNAME o kojem smo razgovarali gore u sintaksi naredbe cron. Na primjer, naredba u nastavku:

0 * * * * fosslinux / put / do / skripta.sh

Izvršit će se kao korisnički "fosslinux" cron posao, a ne kao root korisnik.

Zaključak

Sada imate jasan vodič za korištenje Cron poslova za automatizaciju različitih zadataka u vašem sustavu. To vas ne bi trebalo zbuniti s aplikacijama za pokretanje. Koristite gornje primjere da biste pokušali automatizirati jednostavne skripte. S vremenom možete kombinirati posebne likove i zamjenske kartice kako biste izvršavali puno svjetovnije zadatke. Ako tek započinjete, bilo bi sjajno pročitati naš post na tutorialu bash skriptiranja s primjerima koji će vam pomoći u stvaranju prve skripte.

Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...