Cron slúži na pravidelné a opakované spúšťanie skriptov, programov a ďalších úloh. V tomto článku si prejdeme, čo cron je, ako sa zapisuje jeho syntax, ukážeme si praktické príklady a pozrieme sa, ako cron nastavíte na hostingu — vrátane toho, ako úlohu otestovať a akým chybám sa vyhnúť.
Čo je cron?
Cron je štandardný unixový nástroj, ktorý sa používa na plánovanie príkazov pre automatické vykonávanie v určitých intervaloch. Môžete mať napríklad skript, ktorý vytvára webové štatistiky a chcete ho spúšťať raz denne automaticky napríklad o 5:00. Cron dnes používa väčšina služieb, s ktorými sa bežne stretávate — okrem štatistík ide napríklad o automatické rozposielanie e-mailov, načítanie dát z externých API, publikáciu článkov v určitý čas, automatické zálohy a mnoho ďalšieho.
Syntax cronu
Súbor, do ktorého sa ukladajú jednotlivé úlohy cronu, sa nazýva crontab a ten má päť polí — každé pole je označené hviezdičkou — na určenie dátumu a času opakovaného vykonávania úlohy:

- Minúta — minúta hodiny, v ktorú bude príkaz spustený — v rozsahu 0 až 59.
- Hodina — v ktorú hodinu bude príkaz spustený — v rozsahu 0 až 23.
- Deň v mesiaci — v ktorý deň v mesiaci chcete príkaz spustiť — 1 až 31.
- Mesiac — v ktorom mesiaci bude príkaz spustený — v rozsahu 1 až 12.
- Deň v týždni — v ktorý deň v týždni chcete príkaz spustiť — v rozsahu 0 až 6 (0 = nedeľa).
Okrem čísel a hviezdičiek môžete v crontab použiť aj špeciálne znaky:
- Hviezdička (*) — zastupuje všetky hodnoty daného poľa.
- Čiarka (,) — pre viac konkrétnych časov vykonania jedného príkazu.
- Pomlčka (-) — na určenie rozsahu (napr. 1-5).
- Lomka (/) — na pravidelný krok v rozsahu (napr. */10 = každých 10).
Príklady cronu
Názvy sh skriptov sa v praxi líšia. Príklady slúžia hlavne na pochopenie zápisu časov.
| Príkaz | Význam |
| 0 0 * * * /bin/sh backup.sh | Záloha o polnoci, raz denne. |
| 0 6,18 * * * /bin/sh backup.sh | Záloha dvakrát denne — o 6:00 a 18:00. |
| 0 */6 * * * /scripts/monitor.sh | Spustenie monitoringu každých šesť hodín. |
| */10 * * * * /home/user/script.sh | Každých 10 minút spustiť skript v domovskom adresári. |
| 0 0 * * 2 /bin/sh backup.sh | Záloha o polnoci každý utorok. |
| 10-59/5 5 * * * /home/user/script.sh | Každých 5 minút o 5:00, počnúc 5:10. |
| 0 8 1 */3 * /home/user/script.sh | Štvrťročne, 1. deň o 8:00. |
| * * * * * /scripts/a.sh; /scripts/b.sh | Dva skripty v jednej úlohe (oddelené bodkočiarkou). |
| @reboot /scripts/script.sh | Spustenie pri každom štarte systému. |
| 0 0 1 * * /home/user/script.sh | Prvý deň každého mesiaca. |
Ak si zápisom nie ste istí, hodia sa online nástroje typu crontab.guru, kde si zadaný výraz hneď preložíte do ľudskej reči.
Ako nastaviť cron na hostingu
Väčšina hostingových spoločností má nástroj na vytváranie cron úloh priamo v administrácii, takže ich nemusíte písať ručne do crontabu. V praxi narazíte na dva prístupy — vlastný panel poskytovateľa, alebo rozšírený cPanel.
V cPaneli nájdete cron pod dlaždicou Cron Jobs: vyberiete interval (alebo zadáte vlastné polia) a do poľa s príkazom vložíte, čo sa má spustiť. Nastavenie je potom ľahko upraviteľné aj zmazateľné.
Konkrétnych poskytovateľov s cronom porovnáte v našej kategórii webhosting. Ak prevádzkujete náročnejšiu aplikáciu s vlastnými workermi, hodí sa skôr VPS s plným prístupom k systémovému cronu.
Spúšťanie PHP skriptov cez cron
Na zdieľanom hostingu sa PHP skript najčastejšie spúšťa jedným z dvoch spôsobov:
- Priamo cez PHP CLI:
/usr/bin/php /home/user/web/cron.php— spustí skript na serveri bez webovej požiadavky. - Cez URL:
wget -q -O /dev/null https://vasadomena.sk/cron.php(alebocurl) — hodí sa, keď skript musí bežať v kontexte webu.
Výstup si nechajte zapisovať do logu, nech viete, čo sa stalo: pridajte na koniec >> /home/user/cron.log 2>&1.
Ako cron otestovať a ladiť
Než sa spoľahnete, že úloha „nejako pobeží", overte ju:
- Spustite príkaz ručne v rovnakej podobe, akú dávate do cronu — ak zlyhá tu, zlyhá aj v crone.
- Používajte absolútne cesty ku skriptom aj binárkam (
/usr/bin/php, nie lenphp) — cron má minimálne prostredie a$PATH. - Nechajte si posielať výstup do logu alebo na e-mail, nech chybu vidíte.
Časté chyby
- Relatívne cesty — skript nenájde súbory, lebo sa nespúšťa z „vášho" priečinka. Používajte absolútne cesty.
- Chýbajúci interpret — pri PHP/Python skripte treba plný príkaz s binárkou, nie len názov súboru.
- Žiadne logovanie — bez presmerovania výstupu netušíte, prečo úloha zlyhala.
- Zlé oprávnenia — skript musí byť spustiteľný a prístupný používateľovi, pod ktorým cron beží.
Minimálny interval cronu
Minimálny interval klasického cronu je 60 sekúnd. Niektoré hostingové spoločnosti minútový cron ponúkajú, iné majú najkratší interval dlhší (napr. 5 alebo 15 minút). Ak potrebujete kratší interval a hosting ho neumožňuje, máte dve možnosti:
- Vybrať hosting, ktorý minútový cron má (alebo prejsť na VPS s vlastným cronom).
- Využiť externý „cron-as-a-service" — služby, ktoré váš skript spustia zvonku cez URL, ak je verejne dostupný.
Väčšina bežných nástrojov minútový cron nevyžaduje, takže ak pre vás táto hodnota nie je kľúčová, vyberajte hosting podľa iných parametrov. Prehľad poskytovateľov nájdete v kategórii webhosting.



