Naučite se Linuxa

Kako ustvariti Cron Jobs v Linuxu

Kako ustvariti Cron Jobs v Linuxu

Opravilo Cron ali Cron je časovni načrtovalnik, pogost v sistemih Linux / Unix. Načrtuje določene uporabniške naloge za redno izvajanje v določenem datumu, času ali intervalih. Večina teh nalog so skripti za izvajanje funkcij, kot so varnostne kopije in še več. Za ustvarjanje teh opravil cron uporabljamo ukaze crontab. Crontab je ukaz / pripomoček UNIX, ki se uporablja za ustvarjanje in upravljanje opravil cron.

Kot boste videli spodaj, je ustvarjanje in urejanje opravila cron povsem preprosto. Najbolj neverjetno je, da vam po ustvarjanju ali urejanju opravila cron ni treba znova zagnati crona ali celo računalnika. Samo shranite datoteko in že ste pripravljeni.

Pogoste uporabe Cron Jobs

Osnovni deli ukaza cron

Standardna sintaksa crontaba je naslednja:

a b c d e USERNAME / izhod / pot / do / skripta

1.Ura in datum skupaj s ponavljajočim se opravilom določa pet polj:

Opomba: Dnevi se začnejo s ponedeljkom. 0 in 7 predstavljata nedeljo

2. USERNAME: Ne pozabite zamenjati tega z uporabniškim imenom

3. Določeno lokacijo in skript, ki jih bo izvedel cron, določa tretji segment:

/ pot / do / skripta

4. Zadnji odsek opredeljuje obvestilo uporabniku po zaključku opravila kot način sledenja nalog:

izhod

V mapi »Prejeto« je morda polno manjših opravil, ki so pogosto usmerjena. Da bi se temu izognili, lahko onemogočite samodejni izhod e-pošte tako, da v svoj ukaz cron dodate spodnji niz:

> / dev / null 2> & 1 e.g a b c d e USERNAME / pot / do / skripta> / dev / null 2> & 1

Poleg tega cron uporablja še štiri vrednosti, uporabljene pri podajanju več vrednosti v polju. To so:

Nastavitev opravil cron

Ukazi crontab so odgovorni za ustvarjanje in urejanje opravil cron, ker datotek cron ne bi smeli urejati neposredno. Crontab določa, kako lahko ustvarjate, urejate, dodajate na seznam, odpravljate napake, nameščate in odstranjujete naloge cron.

Preden začnete z opravili cron, morate nujno zagotoviti, da je namizje ali strežnik Linux posodobljen z izvajanjem spodnjih ukazov:

posodobitev sudo apt

Če v vašem sistemu ni nameščen paket cron, ga namestite s spodnjim ukazom:

sudo apt-get namestite cron

Namestite cron

Kako urediti datoteko crontab?

Za dokončanje postopka boste morali konfigurirati opravilo cron. Uporabnik, ki se prijavi, ko se ustvari opravilo cron, samodejno postane lastnik. To je mogoče spremeniti z ustvarjanjem lastnika opravila, ki bo zadolžen za upravljanje posla cron, kot bomo videli v tej objavi.

Če želite odpreti konfiguracijsko datoteko crontab za trenutno prijavljenega uporabnika, izvedite spodnji ukaz:

crontab -e

Sistem vas bo pozval, da izberete primernega urejevalnika. V našem primeru bomo izbrali prvo možnost (urejevalnik nano).

crontab -e

V vsako vrstico lahko dodate eno načrtovano opravilo glede na vaše želje.

crontab

Ko dodate naloge, zaključite s shranjevanjem datoteke in zapustite. Vsa navedena navodila bo prebral in izvedel demon cron. Spremembe bodo uveljavljene tudi brez ponovnega zagona sistema, saj se skladišče samodejno posodablja.

Uredi crontab za drugega uporabnika

Crontab lahko urejate za različne uporabnike z ukazom v spodnji sintaksi:

crontab -u drugo-uporabniško ime -e

Kako uporabljati posebne znake v ukazih crontab

Znaki in operaterji narekujejo večjo prilagoditev vašega sistema, saj razširjajo zmožnosti cron naloge.

0 6 * * 1-5 / root / backup.sh

Tu 06 pomeni 6 zjutraj, 1–5 pomeni število dni (od ponedeljka do petka).

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

1-23 določa obseg ur, / 2 nastavi interval na vsako drugo uro.

Cron Options

Morda boste želeli našteti opravila cron v vašem sistemu, ne da bi odklenili konfiguracijsko datoteko crontab. To lahko storite tako, da zaženete terminal in vnesete spodnji ukaz:

crontab -l

seznam cron opravil

Ta ukaz navaja vsa opravila cron, ki so prisotna v vašem sistemu.

Če želite izbrisati vse ukaze crontab, lahko uporabite spodnji ukaz:

crontab -r
crontab -r -u drugo-uporabniško ime

Uporabite nize v Crontabu

Strune so izjemno koristno orodje za razvijalce, saj se izogibajo ponavljajočemu se pisanju segmentov kode. Na srečo crontabs podpira različne vrednosti nizov. Vključujejo:

@hourly: -enako kot - "0 * * * *" (Izvede se enkrat na uro)
@ polnoč:  -enako kot - "0 0 * * *" (Izvede se enkrat na dan)
@daily: enako kot polnoč
@teden:  -enako kot - "0 0 * * 0" (Izvede se enkrat na teden)
@mesečno: -enako kot - "0 0 1 * *" (Izvede se enkrat na mesec)
@ letno: -enako kot - "0 0 1 1 *" (Izvede se enkrat na leto)
@ leto: podobno kot @ letno
@reboot: Izvede se enkrat po vsakem ponovnem zagonu / ponovnem zagonu / zagonu.

Dober primer; če imate nadomestni skript, ki ga želite zagnati vsak dan, uporabite spodnji ukaz:

@daily / pot / do / backup_script.sh

Primeri cron opravil

Tu je seznam osnovnih opravil cron, ki jih lahko uporabite ob začetku:

    1. Če želite zagnati skript vsako minuto:
      * * * * * / vaš / skript / pot.sh
    2. Če želite zagnati skript vsakih 40 minut:
      40 * * * * / vaš / skript / pot.sh
    3. Če želite zagnati skript vsako uro:
      0 * * * * / vaš / skript / pot.sh
    4. Če želite zagnati skript vsako polnoč:
      0 0 * * * / vaš / skript / pot.sh
    5. Če želite zagnati skript vsakih 23 minut po polnoči, ponoči in ponoči vsak dan:
      23 0-23 / 2 * * * / vaš / skript / pot.sh
    6. Za zagon skripta ob 4.05 vsako nedeljo.
      5 4 * * sonce / vaš / skript / pot.sh
    7. Če želite med tednom zagnati skript ob 22. uri.
      0 22 * ​​* 1-5 / vaš / skript / pot.sh
    8. Za zagon scenarija 1. decembra - polnoči.
      0 0 0 12 * / vaš / skript / pot.sh
    9. Za zagon scenarija v soboto ob polnoči.
      0 0 * * 6 / vaš / skript / pot.sh
    10. Za zagon skripta Vsako uro.
      0 * * * * / vaš / skript / pot.sh

S temi osnovnimi primeri boste globlje razumeli zaporedje in kako ga je mogoče spremeniti.

Omejevanje dostopa do Cron

Vidimo, da so lahko opravila cron zelo priročna, še posebej, če želite avtomatizirati svoje naloge. Vendar je lahko tudi tvegano, če sistem dovoli, da kateri koli uporabnik ustvari cron opravilo. Tudi če to ne vpliva na osebne podatke, lahko nekatera opravila cron zavzamejo dokaj veliko sistemskih virov in tako zaostajajo v računalniku. Da bi se izognil takim scenarijem, lahko skrbnik sistema (korenski uporabnik) ustvari datoteko / etc / cron.dovolite  ali / etc / cron.zanikati datoteko, ki vsebuje samo uporabnike, ki lahko 'ustvari / ne ustvari' cron delo.

The / etc / cron.dovolite datoteka vsebuje uporabnike, ki lahko ustvarjajo, urejajo, prikazujejo ali odstranjujejo datoteke crontab. Če ta datoteka ne obstaja, lahko vsi uporabniki ustvarijo in upravljajo opravila cron, razen tistih v / etc / cron.zanikati mapa. Če ni nobene od teh datotek, so za zagon ukaza crontab potrebne privilegije.

cron dovoli datoteko

Zdaj, ko ste nekorenskim uporabnikom preprečili ustvarjanje opravil cron, če so jih že imeli, lahko razmislite o dodajanju njihovih opravil cron v korenski datoteki crontab. Ampak tukaj je uganka - ali z dodajanjem njihovih opravil cron korenskemu crontabu njihova opravila cron ne tečejo kot root? No, tu prihaja pomen polja USERNAME, o katerem smo govorili zgoraj v sintaksi ukaza cron. Na primer spodnji ukaz:

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

Deloval bo kot uporabniško opravilo "fosslinux" cron in ne kot korenski uporabnik.

Zaključek

Zdaj imate jasen vodnik za uporabo opravil Cron za avtomatizacijo različnih nalog v vašem sistemu. To vas ne bi smelo zamenjati z zagonskimi aplikacijami. Z zgornjimi primeri poskusite avtomatizirati preproste skripte. Sčasoma lahko kombinirate posebne znake in nadomestne karte, da izvedete veliko bolj vsakdanja opravila. Če šele začenjate, bi bilo super, če bi prebrali našo objavo na bash vadnici za skriptiranje s primeri, ki vam bodo pomagali ustvariti prvi skript.

Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...
Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...