Naučte sa Linux

Ako vytvoriť úlohy Cron v systéme Linux

Ako vytvoriť úlohy Cron v systéme Linux

Úloha Cron alebo Cron je časovo závislý plánovač bežný v systémoch Linux / Unix. Naplánuje pravidelné vykonávanie zadaných úloh používateľa v pevnom dátume, čase alebo intervaloch. Väčšina z týchto úloh sú skripty na vykonávanie funkcií, ako je zálohovanie a ďalšie. Na vytvorenie týchto úloh cron používame príkazy crontab. Crontab je príkaz / obslužný program UNIX používaný na vytváranie a správu úloh cron.

Ako uvidíte ďalej, vytváranie a úprava úloh cron je dosť jednoduchá. Najúžasnejšia časť je, že po vytvorení alebo úprave úlohy cron nemusíte reštartovať cron alebo dokonca počítač. Stačí uložiť súbor a môžete vyraziť.

Bežné použitie úloh Cron

Základné časti príkazu cron

Štandardná syntax crontabu je uvedená nižšie:

a b c d e výstup POUŽÍVATEĽA / cesta / k / skriptu

1.Čas a dátum spolu s tým, ako bude úloha opakovaná, je špecifikovaných v piatich poliach:

Poznámka: Dni sa začínajú pondelkom. 0 a 7 predstavuje nedeľu

2. USERNAME: Nezabudnite to nahradiť svojím používateľským menom

3. Konkrétne umiestnenie a skript, ktorý má spustiť cron, určuje tretí segment:

/ cesta / k / skriptu

4. Posledná časť definuje upozornenie používateľa po dokončení úlohy ako spôsob sledovania úloh:

výkon

Doručená pošta však môže byť plná menších úloh, ktoré sú často usmerňované. Ak tomu chcete zabrániť, môžete zakázať automatický výstup e-mailu pridaním nasledujúceho reťazca do príkazu cron:

> / dev / null 2> a 1 e.g a b c d e USERNAME / path / to / script> / dev / null 2> & 1

Ďalej cron používa ďalšie štyri hodnoty používané pri zadávaní viacerých hodnôt v poli. Oni sú:

Nastavenie úloh cron

Príkazy crontab sú zodpovedné za vytváranie a úpravy úloh cron, pretože súbory cron by sa nemali upravovať priamo. Crontab definuje, ako môžete vytvárať, upravovať, vypisovať, ladiť, inštalovať a odinštalovať úlohy cron.

Predtým, ako začnete s úlohami cron, je nevyhnutné zaistiť aktuálnosť pracovnej plochy alebo servera Linux vykonaním nasledujúcich príkazov:

aktualizácia sudo apt

Ak vo svojom systéme nemáte nainštalovaný balík cron, nainštalujte ho pomocou nasledujúceho príkazu:

sudo apt-get nainštalovať cron

Nainštalujte si cron

Ako upraviť súbor crontab?

Na dokončenie procesu budete musieť nakonfigurovať úlohu cron. Používateľ prihlásený pri vytvorení úlohy cron sa automaticky stáva vlastníkom. To sa dá zmeniť vytvorením vlastníka úlohy, ktorý bude mať na starosti správu úlohy cron, ako uvidíme v tomto príspevku.

Ak chcete otvoriť konfiguračný súbor crontab pre aktuálne prihláseného používateľa, postupujte takto:

crontab -e

Systém vás vyzve, aby ste vybrali vhodný editor. V našom prípade zvolíme prvú možnosť (nano editor).

crontab -e

Na každý riadok môžete pridať jednu naplánovanú úlohu podľa svojich preferencií.

súbor crontab

Po pridaní úloh dokončite uloženie súboru a ukončite prácu. Všetky poskytnuté pokyny prečíta a vykoná démon cron. Zmeny sa použijú aj bez reštartovania systému, pretože úložisko sa aktualizuje automaticky.

Upravte crontab pre iného používateľa

Crontab je možné editovať pre rôznych používateľov pomocou príkazu v nižšie uvedenej syntaxi:

crontab -u other_username -e

Ako používať špeciálne znaky v príkazoch crontab

Znaky a operátori diktujú väčšie prispôsobenie vášho systému, pretože rozširujú možnosti úlohy cron.

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

Tu 06 znamená 6:00 - 1 - 5 znamená počet dní (pondelok až piatok).

35 1-23 / 2 * * * / cesta / k / skriptu / skriptu.š

1-23 určuje rozsah hodín, / 2 nastaví interval na každú druhú hodinu.

Možnosti Cron

Možno budete chcieť uviesť zoznam úloh cron vo vašom systéme bez toho, aby ste odomkli konfiguračný súbor crontab. Môžete to urobiť spustením terminálu a zadaním príkazu nižšie:

crontab -l

zoznam úloh cron

Tento príkaz obsahuje zoznam všetkých úloh cron, ktoré sa nachádzajú vo vašom systéme.

Na odstránenie všetkých príkazov crontab môžete použiť nasledujúci príkaz:

crontab -r
crontab -r -u other-username

Použite reťazce v Crontabe

Reťazce sú pre vývojárov nesmierne užitočnými nástrojmi, pretože sa vyhýbajú opakovanému zápisu kódových segmentov. Našťastie crontabs podporuje rôzne hodnoty reťazcov. Zahŕňajú:

@hodina: -rovnaké ako - „0 * * * *“ (Vykonáva sa raz za hodinu)
@ polnoc:  -rovnaké ako - „0 0 * * *“ (Vykonáva sa raz za deň)
@denne: rovnako ako polnoc
@týždeň:  -rovnaké ako - „0 0 * * 0“ (Vykonáva sa raz za týždeň)
@mesiac: -rovnaké ako - „0 0 1 * *“ (Vykonáva sa raz za mesiac)
@ ročne: -rovnaké ako - „0 0 1 1 *“ (Vykoná sa raz za rok)
@rok: podobne ako @ rocne
@reštartovať: Vykonáva sa raz po každom reštarte / reštarte / štarte.

Dobrý príklad; ak máte záložný skript, ktorý chcete spustiť každý deň, použite nasledujúci príkaz:

@denne / cesta / k / backup_script.š

Príklady úloh cron

Tu je zoznam základných úloh cron, ktoré je možné použiť pri začiatku:

    1. Postup spustenia skriptu každú minútu:
      * * * * * / váš / skript / cesta.š
    2. Spustenie skriptu každých 40 minút:
      40 * * * * / váš / skript / cesta.š
    3. Postup spustenia skriptu každú hodinu:
      0 * * * * / váš / skript / cesta.š
    4. Postup spustenia skriptu každú polnoc:
      0 0 * * * / váš / skript / cesta.š
    5. Ak chcete spustiť skript každých 23 minút po polnoci, 2:00 a 4:00 každý deň:
      23 0-23 / 2 * * * / váš / skript / cesta.š
    6. Ak chcete spustiť skript o 4.05 každú nedeľu.
      5 4 * * slnko / váš / skript / cesta.š
    7. Spustiť skript počas týždňa o 22:00.
      0 22 * ​​* 1-5 / váš / skript / cesta.š
    8. Spustiť scenár 1. decembra - polnoci.
      0 0 0 12 * / váš / skript / cesta.š
    9. V sobotu o polnoci spustiť scenár.
      0 0 * * 6 / váš / skript / cesta.š
    10. Spustiť skript každú hodinu.
      0 * * * * / váš / skript / cesta.š

Na týchto základných príkladoch sa dozviete viac o postupnosti a o tom, ako ju možno upraviť.

Obmedzenie prístupu Cron

Vidíme, že úlohy cron môžu byť veľmi užitočné, najmä ak si chcete automatizovať svoje úlohy. Rizikové však môže byť aj to, ak systém umožňuje ľubovoľnému používateľovi vytvoriť úlohu cron. Aj keď to nemá vplyv na osobné údaje, niektoré úlohy cron môžu vyžadovať pomerne veľké množstvo systémových prostriedkov, a tak zaostávajú za počítačom. Aby sa zabránilo takýmto scenárom, môže správca systému (užívateľ root) vytvoriť / etc / cron.povoliť  alebo / etc / cron.poprieť súbor, ktorý obsahuje iba používateľov, ktorí môžu „vytvoriť / nevytvoriť“ práca cron.

The / etc / cron.povoliť súbor obsahuje používateľov, ktorí môžu vytvárať, upravovať, zobrazovať alebo odstraňovať súbory crontab. Ak tento súbor neexistuje, všetci používatelia môžu vytvárať a spravovať úlohy cron okrem tých, ktoré sú v priečinku / etc / cron.poprieť spis. Ak žiadny z týchto súborov nie je k dispozícii, na spustenie príkazu crontab sú potrebné oprávnenia superužívateľa.

cron povoliť súbor

Teraz, keď ste zabránili používateľom bez oprávnenia root vytvárať úlohy cron, ak už nejaké mali, môžete zvážiť pridanie ich úloh cron do súboru root crontab. Ale je tu hádanka - Pridaním úloh cron do koreňového adresára crontab to nespustí ich úlohy cron ako root? Tu prichádza význam poľa USERNAME, o ktorom sme hovorili vyššie v syntaxi príkazu cron. Napríklad nasledujúci príkaz:

0 * * * * fosslinux / cesta / do / skript.š

Bude bežať ako užívateľská úloha „fosslinux“ cron a nie ako užívateľ root.

Záver

Teraz máte jasného sprievodcu používaním úloh Cron na automatizáciu rôznych úloh vo vašom systéme. To by vás nemalo zamieňať s aplikáciami Startup. Pomocou vyššie uvedených príkladov vyskúšajte a automatizujte jednoduché skripty. Postupom času môžete kombinovať špeciálne postavy a divoké karty, aby ste mohli vykonávať oveľa všednejšie úlohy. Ak ešte len začínate, bolo by skvelé prečítať si náš príspevok v tutoriáli skriptovania bash s príkladmi, ktoré vám pomôžu vytvoriť prvý skript.

Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...
Hry Výukový program pre Unity3D
Výukový program pre Unity3D
Úvod do Unity 3D Unity 3D je výkonný nástroj na vývoj hier. Je to multiplatforma, ktorá vám umožňuje vytvárať hry pre mobilné telefóny, web, počítače ...