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

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

Publikováno: 3. září 2020|Affiliate prohlášení

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.

Zůstaňte informováni

Získejte nejnovější hostingové nabídky, kupóny a odborné tipy přímo do vašeho emailu.