Co je to cron a k čemu se používá?

Cron slouží k pravidelnému a opakovanému spouštění scriptů, programů a dalších úloh. V tomto článku si přiblížíme, jak se cron nastavuje, jaké má funkce a časové intervaly.

Co je to cron?

Cron je standardní unixový nástroj, který se používá k plánování příkazů pro automatické provádění v určitých intervalech. Můžete mít například skript, který vytváří webové statistiky, které chcete spouštět jednou denně automaticky třeba v 5:00. Cron dnes používá většina služeb, se kterými se běžně setkáváte. Kromě již zmiňovaných statistik se může jednat třeba o automatickou rozesílku emailů, generování scriptů, načítání zpráv, publikace článků v určitý čas, automatické zálohy a další.

Cron syntax

Soubor, do kterého se ukládají jednotlivé úlohy cronu se nazývá crontab a ten má pět polí – každé pole je označeno hvězdičkou – k určení data a času opakovaného provádění určité úlohy:

cron syntax
  • Minuta – minuta hodiny po kterou bude příkaz spuštěn – v rozsahu od 0 do 59.
  • Hodina – v jakou hodinu bude příkaz spuštěn – v rozsahu od 0 do 23.
  • Den v měsíci – v který den v měsíci chcete spustit příkaz od 1 do 31.
  • Měsíc – v jakém měsíci bude spuštěn zadaný příkaz – v rozsahu od 1 do 12.
  • Den v týdnu – v který den v týdnu chcete spustit příkaz, v rozsahu od 0 do 6.

Kromě toho musíte v každém souboru crontab použít správné znaky.

  • Hvězdička (*) – definuje všechny parametry plánování.
  • Čárka (,) – pro udržení dvou nebo více časů provedení jednoho příkazu.
  • Pomlčka (-) – pro určení rozsahu času při nastavování několika časů provádění jediného příkazu.
  • Lomítko (/) – pro vytváření předem stanovených časových intervalů v určitém rozsahu.
  • Poslední (L) – pro konkrétní účel k určení posledního dne v týdnu v daném měsíci. Například 3L znamená poslední středu.
  • Den v týdnu (W) – pro určení nejbližšího dne v týdnu v daném čase. Například 1W znamená, že pokud je 1. sobota, příkaz se spustí v pondělí (3.).
  • Hash (#) – pro určení dne v týdnu, následovaný číslem v rozmezí od 1 do 5. Například 1 # 2 znamená druhé pondělí.

Cron příklady

Níže uvedené názvy sh scriptů se mohou reálně lišit. Příklad je pouze pro pochopení časů cronu.

PříkazVýznam příkazu
0 0 * * * /bin/sh backup.shProvedení zálohy o půlnoci a spuštění jednou denně.
0 6,18 * * * /bin/sh backup.shProvedení zálohy dvakrát denně v 6:00 a 18:00.
0 */6 * * * /scripts/monitor.shSpuštění monitoring scriptů každých šest hodin.
*/10 * * * * /home/user/script.shKaždých 10 minut provést cron úlohu pro soubor skriptu, který je umístěný v domovském adresáři.
0 * 20 7 * /bin/sh backup.shSpuštění zálohy každou hodinu každého 20. července.
0 0 * * 2 * /bin/sh backup.shSpuštění zálohy o půlnoci každé úterý.
* * * 1,2,5 *  /script/script.shSpuštění příkazu v lednu, únoru a květnu.
10-59/5 5 * * * /home/user/script.shSpuštění příkazu každých 5 minut v 5:00, počínaje 5:10.
0 8 1 */3 * /home/user/script.shSpuštění příkazu čtvrtletně 1. den v 8:00.
* * * * * /scripts/script.sh; /scripts/scrit2.shChcete-li nastavit plán pro více úloh na jednu úlohu cron (oddělení středníkem).
@reboot /scripts/script.shProvedení určitého úkolu při každém spuštění systému.
0 0 1 * *  /home/user/script.shSpuštění příkazu první den každého měsíce.

Nastavení cronu u českých hostingů

Většina hostingových společností má v administraci nástroje na vytváření cron příkazů a nemusíte je tedy psát ručně.

Ebola.cz – Administrace – Vlastní řešení

Ebola.cz má cron job nastavení v administraci pomocí vlastního rozhraní.

exon.io – Administrace – cPanel

exon.io používají cPanel. Na screenech níže Vám představíme, jak snadno lze přes cPanel cron job nastavit.

Vše je pomocí cPanelu snadno nastavitelné a rovněž editovatelné.

TELE3 – Administrace – Vlastní řešení

TELE3 má cron job nastavení v administraci pomocí vlastního rozhraní.

Minimální interval cronu

Minimální interval klasického cronu je 60sec. Některé hostingové společnosti tento interval nabízejí.
Pokud nenabízejí a Vy jej přeci jen potřebujete, tak máte dvě možnosti:

  • Využít jiný hosting, který tuto možnost má.
  • Využít služeb crontabů – jsou na to specializované služby, které umožní spustit Váš script externě – pokud je přístupný „zvenku“.

Většina běžně používaných nástrojů nepotřebuje a nevyžaduje minutový cron, takže pokud pro Vás tato hodnota není důležitá, tak si můžete vybrat hosting podle jiných parametrů. Využít můžete třeba naši kategorii: Nejoblíbenější hosting.

Rate this post

Podobné příspěvky

3 Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..