Nainštalujte cron. Úprava crontab. Každú hodinu v konkrétny deň

  • 16.04.2019

, | |

Cron je dnes jedným z najbežnejších spôsobov automatizácie spúšťania procesov v systéme Linux. Cron je démon, ktorý beží ďalej pozadie a umožňuje vám naplánovať a automatizovať spustenie rôznych úloh (vrátane úloh súvisiacich s podporou servera). Na tento účel sa používa konfiguračný súbor crontab.

Inštalácia Cron

Na tento moment takmer všetky distribúcie sa dodávajú s už štandardne nainštalovaným démonom cron. Ak cron nie je predvolene nainštalovaný, možno ho rýchlo nainštalovať pomocou nasledujúcich príkazov:

Ubuntu/Debian:

aktualizácia sudo apt-get
sudo apt-get nainštalovať cron

CentOS/Red Hat Linux:

aktualizácia sudo yum
sudo yum nainštalujte vixie-cron crontabs

Po dokončení inštalácie sa uistite, že cron beží na pozadí:

sudo /sbin/chkconfig crond on
sudo /sbin/service crond start

Základná syntax

Zvážte nasledujúci príklad úlohy, ktorej spustenie chcete naplánovať:

5 * * * * curl http://www.google.com

Syntax plánovania rôzne úlohy sa môže na prvý pohľad zdať mätúce. V skutočnosti je to veľmi krátke a jednoduché, len treba prísť na to, ako to čítať. Každý riadok je rozdelený na plán a príkaz. Do riadku je možné zadať takmer akýkoľvek príkaz. Harmonogram je rozdelený do 5 rôznych oblastí plánovania v nasledujúcom poradí:

<Минуты> <Часы> <Дни_месяца> <Месяцы> <Дни_недели>

príklady cronu

Táto časť obsahuje príklady plánovania najbežnejších úloh.

Ak chcete, aby sa príkaz spúšťal automaticky každú minútu:

Spustenie príkazu každú dvanástu minútu v hodinu (08.12, 09.12 atď.):

Ak chcete, aby sa príkaz spúšťal každých 15 minút:

0,15,30,45 * * * *

Automatické vykonanie príkazu každý deň o 4:00:

Spustenie príkazu každý utorok o 4:00:

Rozvrh je možné rozdeliť. To znamená, že namiesto 0,15,30,45 môžete použiť:

Venujte pozornosť rozsahu 2-6. Daná syntax spustí zadaný príkaz od 2:00 do 6:00 každých 15 minút.

Ako vidíte, mimoriadne výkonná a flexibilná syntax cron vám umožňuje určiť takmer akýkoľvek časový interval.

Nastavenie cronu

Po vytvorení plánu úloh ho musíte umiestniť na správne miesto v systéme, aby ho démon mohol nájsť a prečítať. Vo všeobecnosti existuje niekoľko takýchto bodov v systéme, ale spravidla je takýto plán umiestnený v crontab používateľa. Ako už bolo spomenuté, crontab je konfiguračný súbor démona cron, ktorý obsahuje plán spúšťania určitých príkazov a programov. Tento súbor sa nachádza v /var/spool/cron/crontab, ale nie je zvykom ho priamo upravovať. Vložiť do súboru požadované programy Rovnomenný príkaz je crontab. To znamená, že ak chcete upraviť súbor crontab, môžete jednoducho zadať:

Tento príkaz otvorí textový editor, pomocou ktorého môžete vykonať všetky potrebné zmeny; každý Nová úloha treba zadať na nový riadok.

Ak chcete zobraziť crontab bez vykonania akýchkoľvek zmien, použite príkaz:

Crontab môžete vymazať pomocou nasledujúceho príkazu:

Pokročilý používateľ môže upravovať crontab iných používateľov pomocou:

crontab -u<пользователь>-e

cron výstup

Po dokončení úlohy cron odošle výstup do emailová adresa užívateľa (pokiaľ výstup nemusí smerovať do logu alebo /dev/null). E-mailovú adresu je možné zadať manuálne zadaním parametra MAILTO vyššia časť crontab. Môžete tiež zadať shell, ktorý sa má spustiť, cestu k nemu binárny súbor cron a domovský adresár. Pre to:

prvý otvorený crontab:

potom ho upravte nasledujúcim spôsobom:

SHELL=/bin/bash
DOMOV=/
MAILTO=" [chránený e-mailom] _user.com”
#Toto je komentár
* * * * * echo „Spustiť tento príkaz každú minútu“

Tento riadok sa vráti Spustite tento príkaz každú minútu. Démon cron odošle tento výstup na e-mail [chránený e-mailom] _user.com. To, samozrejme, nie je príliš pohodlné. Ako už bolo uvedené, tento záver môžu byť nasmerované do súboru denníka, aby sa predišlo takýmto situáciám.

Ak to chcete urobiť, stačí pridať:

* * * * * echo ‘Spustiť tento príkaz každú minútu’ >> file.log

Poznámka: symboly >> nasmerujú výstup do protokolu. Okrem logovania môžete použiť aj /dev/null s nasledujúcim PHP skriptom spusteným na pozadí.

* * * * * /usr/bin/php /var/www/domain.com/backup.php > /dev/null 2>&1

Obmedzenie prístupu ku cronu

Ak chcete obmedziť prístup k démonovi cron, musíte použiť súbory /etc/cron.allow a /etc/cron.deny. ak chcete povoliť (povoliť) alebo zakázať (zakázať) prístup konkrétnemu používateľovi, stačí zadať meno používateľa do príslušného súboru. V predvolenom nastavení je démon cron dostupný pre všetkých používateľov. Ak chcete zakázať prístup všetkým používateľom a udeliť prístup iba príkladu používateľa, musíte použiť nasledujúcu postupnosť príkazov.

Cron sa používa na automatizáciu vykonávania úloh na serveri. Beží na Linuxe a je skvelý na spustenie programu alebo skriptu určitý čas a s určitou frekvenciou plánovať túto akciu vopred.

Konfigurácia plánovača úloh Cron

Úlohy potrebné na vykonanie sú napísané ako riadky, v ktorých musíte zadať dobu zapnutia a príkaz označujúci, čo presne je potrebné spustiť. Každá úloha má samostatný riadok. Napríklad:

30 3 * * 2 /vasadresar/myscript.pl

Na zrozumiteľnejšom jednoduchý používateľ Tu sú uvedené jazyky: Minúty / Hodiny / Deň v mesiaci / Deň v týždni / Príkaz. Tento príklad znamená, že každý utorok o 3:30 by mal Cron spustiť súbor s názvom youdirectory/myscript.pl.

Ak uvediete hodnoty oddelené čiarkami, napríklad napíšete 2,4,6 do položky „Deň“, súbor sa spustí v určený čas každý utorok, štvrtok a sobotu.

Ak zadáte hodnoty oddelené pomlčkou, úloha sa vykoná v zadanom časovom intervale. Ak napríklad v položke „Hodiny“ nastavíte 3-7, súbor sa spustí každú hodinu od 3 do 7 ráno.

Frekvenciu môžete nastaviť aj zápisom do stĺpca času, napríklad v "Hodiny" /12. Potom sa úloha vykoná každých 12 hodín.

Je dôležité vedieť, že „*“ neznamená absenciu hodnoty, ale všetky možné hodnoty. To znamená, že ak nastavíte * * * * 1 /yourdirectory/myscript.pl a chcete, aby sa súbor spúšťal každý pondelok, potom to bude úplne nesprávne a súbor sa bude spúšťať každú minútu.

Ďalší dôležitá vlastnosť je potreba špecifikovať absolútnu cestu k súboru. A tiež súbor potrebuje mať také prístupové práva, aby sa dal aspoň spustiť.

Z uvedených príkladov je zrejmé, že tento plánovač úloh v systéme Linux je veľmi dobrý šikovný nástroj, preto vám odporúčame, aby ste sa podrobnejšie oboznámili s niektorými jeho funkciami.

Najjednoduchším a najbežnejším spôsobom práce s Cron je panel správy hostingu. Cron je však pre rôzne panely nakonfigurovaný inak.

Niekedy sa stáva, že hosting neposkytuje možnosť pracovať s Cronom cez administračný panel. V takejto situácii sa používa protokol SSH. Pomocou neho sa pripájajú k serveru pomocou program PuTTY a zadajte úlohy do príkazového riadka.

Ak chcete začať, zadajte príkaz:

Crontab -e

Ďalej sa dostanete do vi - textového editora, tieto editory sa však môžu pre rôznych hostiteľov líšiť. Ak sa v práci vo vi nevyznáte, môžete zadať príkaz: EDITOR=ee crontab -e, ktorý vás presmeruje na jednoduchší a zrozumiteľnejší editor.

V prípade, že hosting nepodporuje otvorený editor, budete sa musieť vysporiadať s prácou vi:

  • pre zadávanie textu sa musíte prepnúť do rovnomenného režimu stlačením tlačidla „i“;
  • na opustenie režimu použite tlačidlo "Esc";
  • na vymazanie znaku v režime zadávania textu použite klávesy "Esc" a potom "x";
  • uložte a ukončite súbor, stlačte ":wq";
  • v celkom určite stlačte tlačidlo "Enter" na konci každého riadku, je to potrebné, aby Cron fungoval;
  • Ak chcete zobraziť existujúce úlohy Cron, zadajte príkaz crontrab -l.

Príklady úloh pre Cron v linuxe

- Spustite úlohu každých 6 hodín, 30 minút každý deň v mesiaci:

30 */6 * * * /vasadresar/myscript.pl

- Spustite úlohu po každom reštarte:

@reboot /yourdirectory/myscript.pl

— Vykonajte úlohu v 15. deň každého mesiaca o 00:00:00:

0 0 15 * * /vášadresár/myscript.pl

PHP súbory

Na spúšťanie PHP skriptov sa zvyčajne používa tlmočník. Univerzálny návod na jeho práci nie je, keďže rôzne hostingy používajú rôzne iný softvér. V dôsledku toho sa WGET často používa Spustenie PHP v crone. Zadajte nasledujúci záznam:

1 2 * * 3 root wget -O - -q -t 1 http://mysite.com/file.php

Poďme analyzovať podrobnejšie:

  • "-O-" - bráni Cronovi vo vytváraní ďalšie súbory, čím šetrí server od zbytočného odpadu, pretože práca prebieha v konzole;
  • "q" - operácie sa už nezobrazujú na obrazovke;
  • "t-1" - povoliť iba jeden pokus o pripojenie.

Cron limity

Samotný Cron má len jedno obmedzenie – dobu vykonávania úlohy. Ak preťažíte svoj hostingový server, môže to zakázať cron štart viac ako raz za niekoľko minút alebo za hodinu. Okrem toho je Cron obmedzený iba zdrojmi servera, ako napríklad: RAM, objemy údajov, čas vykonania príkazu atď.

Ak sa server reštartuje, Cron uloží všetky vaše úlohy a reštartuje sa spolu s ním.

správa

Cron má nastavenie na nastavenie e-mailových upozornení o svojej práci. To je obzvlášť užitočné, ak sa počas prevádzky vyskytne chyba. Ak chcete povoliť takéto upozornenia poštou, musíte zadať riadok do crontab:

MAILTO= [chránený e-mailom]

Po MAILTO= sa zobrazí požadovaná pošta. Môžete ich zadať niekoľko naraz, pričom ich uveďte oddelené čiarkami. Teraz, ak sa vyskytne chyba, budete o nej informovaní. Okrem toho vám výsledky skriptov prídu aj do pošty. Ak však danú funkciu vás obťažuje, môžete ho vypnúť zadaním > /dev/null 2>&1 na konci úlohy.

Niektoré úlohy vyžadujú použitie plánovačšpeciálny program, ktorý spúšťa určité skripty, programy atď určitý momentčas. Vo väčšine prípadov toto Cron. Možno sú aj iní, ale ja o nich nič neviem. V tomto článku budem hovoriť o niektorých funkciách nastavenia cronu na príklade spustenia PHP skriptu.

Cron úlohy a vykonávanie PHP skriptov

Samotný záznam (práca) v Crone (zvyčajne podľa názvu priečinka crontab alebo crontabs) zahŕňa časová značka a príkazy. časová značkaúloha obsahuje hodnoty: deň v týždni, mesiac, deň, hodina a minúta a tím (často nazývané: cvičenie) , aspoň v prípade spustenia skriptu môže pozostávať z tlmočníka a samotného skriptu, napríklad:

`/usr/bin/ which php` /home/l/login/public_html/script.php

AT tento prípad: `/usr/bin/ktorý php` - absolútna cesta k interpreteru PHP a /home/l/login/public_html/script.php je absolútna cesta k skriptu php. Je pozoruhodné, že cesta k tlmočníkovi a skriptom sa môže pre vás líšiť, pretože závisia od nastavení webového servera.

Nastavenie Cron cez PU

Väčšina poskytovateľov hostingu poskytuje zákazníkom špeciálne ovládací panel(PU) hosting, ktorý uľahčuje nastavenie a správu záznamov Cron. Takto vyzerá spustenie php skriptu cron_admitad.php v plánovači na SpaceWebe.

Upozorňujeme, že cesta k tlmočníkovi tu nie je špecifikovaná. (o tom neskôr). Všimnite si tiež použitie symbolu " vlnovka" (~) ako alias " domovský adresár» (vzhľadom na uvedený príklad: /home/l/login). Jednoducho povedané, toto je adresár, v ktorom, kedy normálnych podmienkach, na začiatku získate cez FTP.

Cesta k interpreteru v php skripte

Väčšina problémov má viacero riešení. Často je ťažké povedať, ktorý z nich je optimálny, ale o to nejde.

symbol " mriežka» (#) je komentár v PHP, ale #! (Angličtina) línia tresku, hash bang alebo ona búcha) má špeciálny význam – určuje cestu k interpreteru skriptu.

Faktom je, že v operačných systémoch podobných UNIX je možné vytvárať skripty rôzne jazyky: PHP, Perl, Python atď. Keď skript spúšťa webový server, riadi sa príponou súboru (napríklad: .php , .phtm , phtml atď. sú bežné rozšírenia pre interpret PHP). ako UNIX Operačné systémy prípona súboru spravidla nie je orientovaná - súbor ju často jednoducho nemá. Systém prečíta prvý riadok a hľadá obslužný program skriptu.

Vo vyššie uvedenom php skripte je prvý riadok, ktorý mám, záznam:

#!/usr/local/bin/php

Opäť platí, že vaša cesta k interpreteru PHP sa môže líšiť od špecifikovaná cesta v tomto príklade, pretože všetko závisí od nastavení webového servera.

Cesty k súborom v skripte bežia cez Cron

Ďalšia dôležitá nuansa. Ak skript používa vyžadujú funkcie() , include() , fopen() atď., ktoré pristupujú k súborom tretích strán na webovom serveri, musíte zadať absolútnu cestu, napríklad:

/home/s/shop4mru/public_html/content/data/coupons.db

Opäť platí, že cesta k súboru coupons.db sa môže líšiť od cesty uvedenej v príklade, pretože všetko závisí od nastavení webového servera.

Vo všeobecnosti môžete použiť aj relatívnu cestu. Na to použite funkciu chdir() php, ktorá zmení aktuálny adresár PHP na ten, ktorý je zadaný ako jeho parameter.

Úprimne povedané, túto funkciu som nepoužil, ale ako som pochopil, situácia je nasledovná. Pred kontaktovaním súbor tretej strany na webovom serveri sa vloží niečo ako nasledujúci kód:

cdir("public_html"); // prechod do adresára: /home/s/shop4mru/public_html

Súbor teda, berúc do úvahy vyššie uvedený príklad, bude dostupný do relatívna cesta:

./content/data/coupons.db

Bodka na začiatku znamená aktuálny, zmenený adresár.

Zhrňme si nastavenie Cron

Cron (často označovaný názvom priečinka crontab alebo crontabs) - plánovací program bežiaci na webovom serveri poskytovateľa hostingu, ktorý v určitom čase spúšťa spúšťanie skriptov, programov a iných príkazov. Samotná úloha je záznam pozostávajúci z časovej pečiatky a príkazu. Dôležitý bod tu je náznak správnymi spôsobmi na interpret skriptov a súbory v ňom obsiahnuté.

o 8:00 Upraviť správu 9 komentárov

Cron je plánovač úloh, ktorý beží na hostingu Unix\Linux. Umožňuje vám automaticky vykonávať určité akcie na serveri (spúšťanie programov, skriptov atď.), s daný čas alebo frekvenciu.

Správna konfigurácia plánovača úloh Cron

Úlohy pre Cron možno opísať nasledovne - ide o niekoľko riadkov (jeden riadok - jedna úloha), ktoré označujú frekvenciu spúšťania a príkaz (čo znamená, čo vlastne treba spustiť):

30 3 * * 2 /vasadresar/myscript.pl

Schematicky:

Minúty Hodiny DeňMesiac Mesiac DeňTýždne Príkaz

minút- nastavte číslom od 0 do 59

Sledujte- nastavte číslom od 0 do 23

deň v mesiaci- nastavte číslom od 1 do 31

mesiac- nastaviť ako číslo od 1 do 12

Deň v týždni- 1 - pondelok, 2 - utorok, 3 - streda, 4 - štvrtok, 5 - piatok, 6 - sobota, 7 - nedeľa

V našom príklade (30 3 * * 2 /vášadresár/myscript.pl) teda back znamená, že musíte spustiť súbor /vášadresár/myscript.pl každý utorok o 3:30

V každom z polí môžeme tiež použiť:

Písanie s čiarkami: 2,5,16 - ak to napíšete do poľa Hodiny, úloha sa spustí o 2:00, 5:00 a 16:00.

Interval: 5-9 - ak to napíšete do poľa Minúty, úloha sa spustí každú minútu v intervale od 5 do 9 minút.

Dodatočná periodicita: /4 - ak to napíšete do poľa hodín, bude to znamenať, že spustenie bude prebiehať každé 4 hodiny.

Dôležité! Hviezdička (*) znamená všetky možné hodnoty! Neskúsený webmaster, ktorý sa rozhodne, že na spustenie úlohy vždy 1. dňa v mesiaci stačí napísať * * 1 * * /yourdirectory/myscript.pl, narazí na skutočnosť, že úloha sa spustí každú minútu, každú hodinu.

Ako a kde zadať úlohy Cron?

Prvý spôsob práce s Cronom je cez ovládací panel hostingu. Ale v rôzne panely konfigurácia a správa sa vykonávajú rôznymi spôsobmi:

cPanel: Ovládací panel -> Cron Jobs

ISP Manager: Ovládací panel -> Plánovač (Cron)

Parallels Plesk: Ovládací panel -> Naplánované úlohy

Ak váš poskytovateľ hostingu nemá možnosť pracovať s úlohami prostredníctvom ovládacieho panela, potom sa všetka práca s Cron zvyčajne vykonáva prostredníctvom protokolu SSH. Všetko je tu jednoduché - pripojte sa k serveru cez SSH a zadávajte príkazy. Na pripojenie k serveru použite voľný program PuTTY (ako nastaviť) a príkazy sa zadávajú na príkazovom riadku.

Ak chcete začať, zadajte príkaz

Potom budete s najväčšou pravdepodobnosťou presunutí do textového editora vi (môžu mať rôzni poskytovatelia rôznych redaktorov). vi je pomerne zložitý editor, preto vám odporúčame skúsiť napísať riadok

Ak sa spustí ľahší editor, potom je všetko v poriadku, ale ak ho nepodporuje váš poskytovateľ hostingu, potom Google pomôže pochopiť s vi. Len stručne načrtneme hlavné body:

Zadávanie textu- stlačte kláves i a editor sa prepne do režimu zadávania textu;

ukončiť režim zadávania textu- Esc

Odstrániť znak- x (ak ste v režime testovacieho zadávania, potom na vymazanie znaku najskôr stlačte Esc a potom x);

Dôležité! Pri zadávaní úloh pre Cron po každom riadku musíte stlačiť Enter, aj keď je tento riadok jediný.

Ak chcete zobraziť existujúce úlohy Cron, zadajte crontab -l

Cron úlohy s užitočnými príkladmi

Pozrite si pravidlá pre zostavovanie úloh Cron. Spustiť úlohu každé 2 hodiny po 0 minútach (každý deň, každý mesiac)

0 */2 * * * /vasadresar/myscript.pl

Spustite úlohu vždy po reštarte servera

@reboot /yourdirectory/myscript.pl

Spustite úlohu v stredu o 3:20 (každý deň, každý mesiac)

20 3 * * 3 /vasadresar/myscript.pl
1 0 14 3 * /vášadresár/myscript.pl

Spustite úlohu každý mesiac 1. o 3:15 (každý mesiac)

15 3 1 * * /vášadresár/myscript.pl

Naplánujte spustenie súborov PHP s programom Cron

Na spustenie PHP skriptov cez Cron môžete použiť špeciálny tlmočník. Bohužiaľ Vám nemôžeme dať návod na jeho obsluhu, pretože. rôzni poskytovatelia môžu používať odlišný softvér. Preto veľa správcov webu spúšťa súbory PHP pomocou WGET, na tento účel používame nasledujúci záznam crontab:

30 3 * * 2 root wget -O - -q -t 1 http://mysite.com/file.php

"-O -" znamená, že Cron nevytvorí extra súbory, ale bude fungovať cez konzolu. Vyhnete sa tak preplneniu servera.

"-q" zakáže zobrazenie operácie na obrazovke

"-t 1" je povolený iba jeden pokus o pripojenie.

http://mysite.com/file.php – cesta k vášmu súboru PHP (nemusí to byť absolútna cesta).

Dôležité! Ak zadávate parametre pomocou tohto súboru PHP, potom sú chvíle, keď ich WGET nespracuje správne. V tomto prípade odporúčame zadať adresu súboru PHP do jednoduchých úvodzoviek:

30 3 * * 2 root wget -O - -q -t 1 "http://mysite.com/file.php"

Existuje aj iný spôsob, ako začať:

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://mysite.com/file.php

V tomto prípade však potrebujete poznať cestu k priečinku wget na vašom serveri (zvyčajne /usr/bin/wget alebo /usr/local/bin/wget).

Dostávať správu o práci Crona poštou

Cron je možné nakonfigurovať na odosielanie e-mailových správ s výsledkami spustených úloh. Táto funkcia môže byť užitočná aj na upozornenie v prípade chyby. Ak chcete dostať správu e-mailom, musíte upraviť crontab (pred úlohami) a napísať nasledujúci riadok:

kde [chránený e-mailom]- toto je e-mail, na ktorý sa budú posielať listy. Môžete tiež pridať viacero adries oddelených čiarkami.

Je tu ešte jedna vec, výsledok skriptu dostanete aj poštou. ak napríklad skript napíše na obrazovku nejaký nápis, rovnaký nápis sa odošle na vašu poštu spolu so správou. Ak vás to obťažuje, pridajte riadok na koniec úlohy > /dev/null 2>&1

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://mysite.com/file.php > /dev/null 2>&1

V systéme linuxúlohy sú automaticky spúšťané démonom crond a plánovaním automatický štartúlohy môže vykonávať nielen správca systému, ale aj používatelia.

Ako funguje crond

Spôsob, akým démon crond funguje, je jednoduchý. Po spustení (zvyčajne pri zavádzaní systému) sa démon prebudí každú minútu a skontroluje, či je na túto minútu naplánovaný nejaký program. Ak sa takéto programy nájdu, démon ich spustí a odošle e-mail správy používateľom, ktorí naplánovali spustenie.

Plánovanie úloh

Plánovanie je jednoduchá úloha. Rozvrh je umiestnený v samostatnom súbore crontab. Každý riadok súboru obsahuje úlohu, ktorá musí byť spustená v určitom čase.

Formát záznamov crontab

Časť čas-dátum pozostáva z piatich číselných polí oddelených medzerami, ktoré určujú, kedy sa mala úloha spustiť:

Na uľahčenie vyplnenia týchto polí boli zavedené nasledujúce pravidlá:

  • Hodnoty môžete zadať ako číselné intervaly. Napríklad interval 1-3 v poli hodín znamená 1:00, 2:00 a 3:00 polnoc, 2-4 v poli deň v týždni - utorok, streda alebo štvrtok.
  • Intervaly je možné nastaviť v prírastkoch väčších ako jedna. Napríklad, ak chcete zadať každú druhú hodinu od polnoci, nastavte interval na 0-23 v krokoch po 2 oddelených lomkou: 0-23/2
  • Hviezdička (*) označuje celý rozsah hodnôt polí - od minima po maximum. Napríklad v poli dňa v mesiaci hviezdička znamená interval 0-31, v poli dňa v týždni - 0-7
  • Deň v týždni alebo mesiaci možno určiť prvými tromi písmenami jeho (anglického) názvu

Príklady času a dátumu

Niekoľko príkladov vyplnenia polí času a dátumu:

0 1 * * * Spustiť úlohu denne o 13:00 30 14 * * 0 Spustiť úlohu v nedeľu o 14:30 0 23-7/2,8 * * * Spustiť úlohu každé 2 hodiny od 23:00 do 7:00 a 8:00 0 12 * 1 pondelok Spustiť práca na poludnie každý pondelok v januári každý rok 0 12 2 feb * Spustite prácu každý rok druhého februára napoludnie

príkazové pole

Pole príkazu je oddelené od polí času a dátumu jednou alebo viacerými medzerami a siaha až na koniec riadku. Príkazy spracováva shell /bin/sh.

Napríklad nasledujúci záznam v súbore crontab by sa spustil /usr/sbin/backup každý deň o 1:00:

0 1 * * * /usr/sbin/backup

Niektoré príkazy (napríklad mail) vyžadujú vstup zo štandardného vstupného zariadenia. Toto je označené znakom percenta (%). Prvý takýto znak označuje začiatok štandardného vstupu, každý nasledujúci - zmenu riadku.

Úprava súboru crontab

Súbor crontab sa upraví pomocou príkazu crontab -e. Možné sú dva prístupy:

  • vytvorenie nového súboru so všetkými položkami, ktoré by mali byť zahrnuté v súbore crontab, a jeho zápis na disk pod týmto názvom pomocou príkazu crontab;
  • priamu úpravu súborov pomocou príkazu crontab -e.

Zápis zo súboru

Na nahrávanie obsahu súbor crontab z iného súboru, musíte vytvoriť tento iný súbor (zvyčajne textový editor) so všetkými položkami, z ktorých by mal súbor crontab pozostávať. Môže to byť napríklad nasledujúci záznam:

0 1 * * * /usr/sbin/backup

Vygenerovaný súbor by mal dostať vhodný názov, napríklad úlohy cron . Po zadaný súbor vytvorený, jeho obsah musí byť zapísaný do súboru crontab príkazom:

~$ crontab cronjobs

Obsah súboru cronjobs úplne nahradí obsah súboru crontab tohto používateľa. Pomocou tejto metódy môže každý používateľ upraviť svoj súbor crontab. Superuser má špeciálne právo upravovať súbory crontab iných používateľov. Úprava súboru niekoho iného je označená príznakom -u. Napríklad príkazom:

~# crontab -u oleg cronjobs

súbor cronjobs je zapísaný ako súbor crontab používateľa oleg.

Priama úprava súboru crontab

Príkaz crontab sa vyhýba viackrokovej operácii vytvárania samostatný súbor. Ak zadáte príkaz crontab s voľbou -e, môžete priamo upraviť súbor crontab.

V predvolenom nastavení príkaz crontab s voľbou -e načíta súbor crontab do súboru . Editor Vi- výkonný, aj keď zložitý nástroj, obľúbený medzi skúsených používateľov Unix. Niekto, kto preferuje iný editor, napr. xupraviť, môžete nastaviť príslušnú hodnotu premenná prostredia EDITOR:

~$ export EDITOR=xedit

Potom zadajte príkaz

spôsobí, že sa súbor crontab otvorí v zadanom editore.

Podobný bežný používateľ môže upravovať vlastný súbor crontab , superužívateľ môže upravovať súbory crontab iných používateľov. Na tento účel sa používa príkaz:

~# crontab -u užívateľské meno -e

Zobrazenie súboru crontab

Ak chcete zobraziť obsah súboru crontab, zadajte príkaz:

Superpoužívateľ môže zobraziť súbory crontab iných používateľov:

~# crontab -u užívateľské meno -l

Odstránenie súboru crontab

Ak chcete odstrániť obsah svojho súboru crontab, používateľ zadá príkaz:

Superpoužívateľ môže odstrániť súbory crontab iných používateľov.