Co je to cron a jak ho správně nastavit

Cron je systémová služba (proces) co běží na pozadí a řídí se podle tzv. crontabu, kde definujete plán a příkaz, který se má spustit. Jeho úloha je tedy plánování a spouštění. Lze ho používat ve více jazycích od PHP přes Python až k Node.js.

Umožňuje spouštět libovolné aplikace, příkazy či skripty. Kouzlo cronu spočívá v tom, že příkazy dokáže spouštět automaticky, opakovaně a v časy, které si administrátor sám zvolí.

Je ideální na úlohy jako:

  1. pravidelná údržba databáze,
  2. exporty nebo synchronizace dat,
  3. čištění starých souborů,
  4. spuštění dávkových skriptů bez zásahu uživatele.

Co je dobré vědět před nastavením cronu

  • Je dobré mít předem vytvořený např. PHP skript, který chceme spouštět, případně mít připravenou URL, kterou bude cron spouštět.
  • Vědět cestu k vašemu cronu např. /www/cron-cleanup-db.php
  • Mít jasnou představu o tom jak bude daný cron náročný na chod serveru, abyste měli jasno v jakém intervalu ho chcete nastavit. Náročnější skripty je lepší mít nastavené v delších intervalech (nebo mimo provozní špičku), aby nedocházelo k zbytečnému přetížení serveru.
  • Vědět, jakým způsobem budete cron spouštět. Možnosti jsou 3 a rozdíly mezi nimi si rozebereme.

Způsoby spuštění cronu

Cron lze na serveru spustit několika různými způsoby. Liší se především způsobem spuštění skriptu, spolehlivostí a vhodností pro různé typy úloh.

V administraci je k dispozici spuštění skrze:

  • PHP skript,
  • volání přes URL,
  • vlastní příkaz (CLI).

Níže najdete vysvětlení jednotlivých možností, jejich rozdíly a doporučení, kdy kterou použít.

PHP skript

Jak to funguje

  • Cron spustí vybraný PHP soubor (např. cron.php).
  • Skript běží lokálně na serveru, nikoli přes web.
  • Nepoužívá se žádná URL adresa.

Co se vyplňuje

  • Pouze cesta k PHP souboru na serveru
    (např. /www/hosting/domena.cz/www/cron.php).

Výhody

  • jednoduché nastavení,
  • vyšší spolehlivost než URL,
  • skript nemusí používat webový server,
  • a nehrozí timeout HTTP požadavku.

Nevýhody

  • Pouze pro PHP skripty.

Kdy použít PHP skript

  • běžné cron úlohy v PHP,
  • údržba webu, synchronizace dat, importy,
  • pravidelné skripty k WordPressu / e-shopu.

Volání přes URL

Cron zavolá webovou adresu, jako kdyby ji někdo otevřel v prohlížeči.

Jak to funguje

  • Cron odešle HTTP požadavek na URL
    (např. https://example.com/cron.php).
  • Skript běží přes webový server (Apache / Nginx).

Výhody

  • Rychlé řešení bez přístupu k serveru.

Nevýhody

  • náchylné na timeouty,
  • skript se nemusí dokončit,
  • zbytečně zatěžuje webový server a může ovlivnit fronty a cache,
  • bezpečnostní riziko (URL může někdo zavolat ručně),
  • problém s parametry v URL (&, ?, escapování).

Kdy použít volání přes URL

Pouze ve výjimečných případech, pokud nemáte jinou možnost.

Vlastní příkaz (CLI)

Nejflexibilnější možnost, kdy cron spouští libovolný příkaz v příkazové řádce.

Jak to funguje

  • Cron spustí příkaz přímo v systému (CLI).
  • Lze volat PHP, shell skripty, systémové nástroje apod.
/usr/bin/php8.2 /www/hosting/domena.cz/cron.php

Výhody

  • nejvyšší kontrola nad spuštěním,
  • nejvyšší spolehlivost,
  • možnost přesměrování výstupů a chyb do libovolného error logu,
  • vhodné i pro náročné a dlouhé úlohy.

Nevýhody

  • Vyžaduje základní znalost příkazové řádky.

Kdy použít

  • složitější cron úlohy,
  • frameworky (Laravel, Symfony – artisan, console),
  • importy, exporty, dávkové úlohy,
  • když potřebujete přesně řídit běh skriptu.

Jak nastavit cron v Zákaznickém portálu (webhosting)

Je důležité mít na paměti, že nastavení cronu v Zákaznickém portálu je možné pouze pro domény, které jsou na webhostingu. Pokud máte doménu na VPS je zapotřebí spravovat crony přes VPS Centrum.

Přihlaste se do Zákaznického portálu. V levém menu zvolte Domény:

Screenshot 2026 01 07 at 20.50.12

Pak zvolte detail:

Screenshot 2026 01 07 at 20.50.51

Následně po levé straně Crony:

Screenshot 2026 01 07 at 21.04.14

A nakonec + Nový cron v pravém horním rohu:

Screenshot 2026 01 07 at 20.59.22

Otevře se vám nový formulář s 3 možnostmi. Pokud nemáte zkušenosti nebo si nejste 100% jisti doporučujeme nechat předvolbu „výběr z nejčastějších možností opakování“ a pouze si zvolit z počtu opakovaní.

Screenshot 2026 01 07 at 21.10.12

Také je zapotřebí mít nastavenou cestu k akci (např. PHP skript nebo URL), která se na serveru bude spouštět. Toto pole je povinné. Bez ní cron nelze nastavit.

Screenshot 2026 01 07 at 21.19.17

Můžete si i zvolit vyklikání vlastního časování. Zde však dejte obzvlášť pozor, jak cron nastavujete. Pokud si zvolíte vlastní časování, podle příkladu níže by se cron spouštěl každý měsíc, 3. den v měsíci a ještě navíc pouze, pokud na tento den připadne zrovna středa.

Screenshot 2026 01 07 at 21.24.12

Proto doporučujeme nechávat nastavení na nás a zvolit možnost Výběru z nejčastějších možností opakování.

Poslední možností v nastavení cronu je zadání cron výrazu. To vypadá takto

Screenshot 2026 01 07 at 21.32.02

A pokud už máte Cron nastavený tak to stačí pouze potvrdit kliknutím na přidat cron:

Screenshot 2026 01 07 at 22.07.58

Správně vytvořený cron uvidíte v přehledu cronů.

Screenshot 2026 01 07 at 22.09.08

Jak nastavit cron ve VPS Centru v3

Po přihlášení do VPS Centra přejděte do detailu domény, u které chcete cron nastavit:

Screenshot 2026 01 08 at 22.15.15

Následně v detailu domény jděte do sekce crony:

Screenshot 2026 01 08 at 22.17.28

a pak zvolte + Nový cron nebo + Vytvořit cron:

Screenshot 2026 01 08 at 22.22.49

Otevře se následující formulář:

Screenshot 2026 01 08 at 22.24.38

Pro vaši lepší orientaci doporučujeme vyplnit pole účel cronu / poznámka.

V poli opakování si můžete zvolit, jak často se cron bude spouštět. I zde je možnost vyklikání vlastního časování nebo vlastního cron výrazu:

Screenshot 2026 01 08 at 22.31.06

Můžete si i ověřit, jak funguje vyklikání vlastního časování.

Screenshot 2026 01 08 at 22.34.49
Takto by vypadal cron, co se spouští každou minutu, každou hodinu, každý den, každý 3. měsíc:

nebo zadejte vlastní cron výraz:

Screenshot 2026 01 08 at 22.37.46
Takto například vypadá cron výraz, který se spouští každý den ve 3. hodiny ráno.

Poslední krok v nastavení, je způsob, jakým se cron bude spouštět. Možnosti jsou 3:

Screenshot 2026 01 12 at 14.53.26

Pokud si nejste moc jistí, jaký způsob zvolit, můžete se mrknout na rozdíly

A na konec stačí potvrdit kliknutím na Přidat cron:

Screenshot 2026 01 12 at 14.56.03

Pokud se cron vytvoří v pořádku, v pravém horním rohu se vám zobrazí hláška:

Screenshot 2026 01 12 at 14.56.28

A samotný cron uvidíte i v přehledu:

Screenshot 2026 01 12 at 15.02.41

Vytvořený cron můžete kdykoliv podle potřeby editovat:

Screenshot 2026 01 12 at 21.52.12

Cron nefunguje, jak má

Pokud cron nefunguje, nejprve zkontrolujte error logy a info logy. Ty často poskytnou nejrychlejší vodítko v podobě chybové hlášky, takže hned víte, kde by mohl být zádrhel.

Screenshot 2026 01 12 at 21.54.58

Následně vyberte typ logu, který chcete otevřít:

Screenshot 2026 01 12 at 21.57.44

Pokud si se samotným řešením erroru nevíte rady, klidně nám napište na podporu a my vám rádi poradíme.

Jak nastavit cron ve VPS Centru v2

Pokud máte verzi VPS Centra 2.x a chcete nastavit cron, stačí se přihlásit a v pravém menu přejít do Cron:

Screenshot 2026 01 07 at 21.57.24

Následně klikněte na Načasovat skript:

Screenshot 2026 01 07 at 21.59.37

Otevře se vám následující formulář:

Screenshot 2026 01 07 at 22.01.49

A nyní máte možnost v poli předvolba zvolit interval, v jakém se cron bude spouštět. Na výběr jsou tyto možnosti:

Screenshot 2026 01 07 at 22.02.03

Případně si i můžete zvolit interval vlastní. Pokud chcete, aby se cron spustil například v pracovní dobu každých 10 minut, více hodnot vyberete přidržením Ctrl… Nastavení pak bude vypadat následovně:

U takového výběru dejte však pozor, aby se vám hvězdička nedostala tam, kam nemá… 🙂 Samotná hvězdička totiž znamená vše.

Pokud ji tedy vyberete např. ve sloupci Týden, znamená to, že se bude spouštět od pondělí do neděle.

Ve druhé verzi VPS Centra jsou 2 možnosti nastavení. Jedna je pomocí PHP skriptu a ta druhá je libovolným příkazem.

Screenshot 2026 01 08 at 20.51.19

Načasování pomocí PHP skriptu

Pokud zvolíte PHP skript, v dalším poli nastavujete pouze cestu k samotnému cronu. Je důležité si uvědomit, že aby byl cron pro VPSC viditelný, musí být v document rootu (www), a to má i své bezpečnostní nevýhody, protože samotné skripty by mohly být dostupné přes web.

Screenshot 2026 01 08 at 20.45.48

Pro lepší orientaci v cronech si můžete přidat jakoukoliv poznámku, to se hodí zejména v případě, že máte uložených více cronů naráz.

A na závěr můžete i zaškrtnout variantu „spustit na test“, která vám cron otestuje (spustí ho 1x) a výsledek vám zašle na e-mail.

Pokud už máte vše hotové, pak jen stačí kliknout na Uložit.

Screenshot 2026 01 08 at 21.08.27

Načasování libovolným příkazem

Druhou možností tvorby cronu je samotný cronový příkaz vypsat:

Screenshot 2026 01 08 at 21.12.56

Pokud máte příkaz napsaný, cron opět vytvoříte tlačítkem uložit.

Správně vytvořený cron pak uvidíte v přehledu cronů:

Screenshot 2026 01 08 at 21.54.45

V přehledu pak nechybí ani možnost cron dodatečně upravit, pozastavit, opět spustit nebo i smazat.

Cron výraz

Cron výraz určuje, kdy přesně se má úloha spouštět. Skládá se z 5 pozic, oddělených mezerami. Každá pozice ve výrazu ***** reprezentuje jiné časové období:

1.* reprezentuje minuty

2.* reprezentuje hodiny

3.* reprezentuje dny v měsíci (1-31)

4.* reprezentuje měsíce (1-12)

5.* reprezentuje den v týdnu (0-7, kde 0/7 = neděle)

Hvězdička * znamená "každý"

Tedy výraz ***** spustí danou úlohu každou minutu.

Pár příkladů výrazů cronu:

ČasZápisCo dělá
Každou minutu* * * * *spustí úlohu každou minutu
Každých 5 minut*/5 * * * *spustí úlohu po 5 minutách
Každou hodinu0 * * * *spustí úlohu vždy v celou hodinu
Každý den v noci0 2 * * *každý den ve 2:00
Každé pondělí0 8 * * 1v pondělí v 8:00

Systémové crony

Některé crony, ale přes VPS centrum zadat nelze. Nezbude proto nic jiného než se do toho pustit skrze SSH. Nezapomeňte však, že VPS centrum vás chrání před rozbitím serveru. Použití SSH představuje určité riziko a kdykoliv se může cokoliv pokazit, zvlášť pokud v tom nejste kovaní. Ale vy zálohujete, že? 😉

Crony vytvořené přes administrační rozhraní se obvykle spouštějí pod omezeným uživatelem, stejně jako v našem VPS centru V3. Pokud potřebujete spouštět něco, co vyžaduje vyšší práva jako například root pro:

  • reboot serveru,
  • údržbu systému,
  • rotaci logů,
  • či systémové skripty,

musíte cron vytvořit ručně. Prvním krokem je přihlášení přes SSH, cron pak vytvoříte přes crontab následujícím postupem:

sudo crontab -e

pak si zvolíte editor:

nano

a následně už upravíte soubor podle klasického cron formátu:

# m h dom mon dow command

Pak už jen zadáte samotný příkaz:

0 3 * * * find /var/log -type f -name "*.log" -mtime +14 -delete

A co ten samotný příkaz dělá? Najde logy starší než 14 dní, bezpečně je odstraní a sníží zaplnění disku:

časování 03*** znamená, že se bude spouštět každý den ve 3 hodiny ráno.

PoložkaVýznam
0v 0. minutě
3ve 3 ráno
*každý den v měsíci
*každý měsíc
*každý den v týdnu

Na co si dát pozor

Obecně nedoporučujeme pouštět vzdálené skripty. Důležité je také dávat pozor na volání skriptů z URL adresy (vzdálené skripty např. www.vas-hosting.cz/muj-cron.php).

Jednak, pokud adresa ke skriptu obsahuje speciální znaky jako &, musíte je escapovat. Druhým důvodem je fakt, že může velmi snadno dojít k přerušení jeho běhu z důvodu time-outu. To znamená, že vám nemusí skript doběhnout do konce. Navíc skript pak zabírá spojení na webový server úplně zbytečně.

Ještě nemáte verzi VPS Centra 3.0? Dali jsme si záležet, aby byla co nejblíž tomu, co reálně potřebujete a za nás osobně je fakt lepší, rychlejší a snadněji se ovládá. 🙂 Tak zvažte migraci, je to pár kliknutí.

 

Pomohl vám tento článek?

Podobné články