CRON
Služba CRON slouží k automatickému spouštění úloh ve zvolený čas. Na hostingu můžete CRON využít například pro periodické volání skriptů, které generují statistiky, uklízejí vyrovnávací paměti redakčních systémů, rozesílají dávkově newslettery a další.
V rámci hostingových služeb můžete používat 2 typy CRONu. První typ si můžete nastavit v administraci hostingu přes webové rozhraní. Druhý typ je pak k dispozici na multihostingu přes SSH přístup standardním systémovým způsobem v příkazové řádce. Tyto CRONy jsou na sobě nezávislé.
Webové rozhraní administrace hostingu
Nejjednodušší a nejrychlejší způsob k zadání automaticky spouštěné úlohy v naplánovaný čas je její zadání přes administraci hostingu. Do té se můžete přihlásit na adrese https://svethostingu.cz/admin/.
V administraci hostingu vyberte vlevo nahoře požadovanou službu a doménu a následně níže položku "CRON".
Přidání úlohy je intuitivní, u každé položky se po najetí ukazatelem myši nad symbol otazníčku zobrazí další nápověda k významu jednotlivých položek. Níže je uveden příklad pro CRON úlohu, která se spustí každý den ve 3 hodiny a 3 minuty ráno a zavolá skript na adrese "www.mojedomena.cz/send.php". Hvězdička označuje, že bude provedena pokaždé pro daný časový úsek. Je-li hvězdička např. u měsíce, bude úloha provedena každý měsíc. Bude-li u měsíce jednička, provede se úloha jen v lednu.
Po přidání se CRON úloha objeví v tabulce "Aktuálně nastavené úlohy".
Příkazová řádka přes SSH přístup
SSH přístup je dostupný na multihostingu a bližší informace ke zřízení a ovládání jsou uvedeny v příslušné kategorii.
V příkazové řádce použijte pro nastavení služby CRON příkaz "crontab". Úplná dokumentace k příkazu je dostupná po zadání "man crontab", rychlou nápovědu pak zobrazíte zadáním "crontab -h".
Zobrazit seznam zadaných úloh tedy můžete příkazem "crontab -l" a editaci úloh pak příkazem "crontab -e". Po zadání všech cron úloh nechte na konci prázdný řádek. Níže je uveden příklad pro přidání CRON úlohy, která každou hodinu v 10. minutě zavolá php interpret a předá mu skript na cestě "~/www/cz/mojedomena/www/send.php". Hvězdička znamená, že se daný časový úsek provede vždy. Když je hvězdička např. u pole pro hodinu, bude se úloha provádět každou hodinu. Pokud bude u hodiny jednička, bude úloha provedena jen v 1 hodinu. Popis jednotlivých polí pro spouštěcí čas CRON úlohy:
1. pole = Minuta (0 – 59)
2. pole = Hodina (0 – 23)
3. pole = Den v měsíci (1 – 31)
4. pole = Měsíc (1 – 12)
5. pole = Den v týdnu (0 = neděle, 1 = pondělí, ..., 6 = sobota) ( 7 = také neděle)
6. pole = Spouštěný příkaz
Pokud před řádek s úlohou umístíte speciální znak "#", bude se požadovat za komentář a nebude se provádět. Doporučujeme na konec seznamu CRON úloh přidat prázdný řádek.
Seznam zadaných úloh si pak můžete zobrazit příkazem "crontab -l".
Cron úlohy lze načítat i ze souboru příkazem "crontab cesta_k_souboru/soubor_s_ulohami". Neupravujte ani nenačítejte přímo pracovní soubory cronu na cestě /disk_1/cron/crontabs.
O Cronu
Cron je služba v Linuxu, která slouží k automatickému spouštění úloh v naplánovaných intervalech a časech. Umožňuje správcům serverů nebo webhostingu nastavit, aby se určité skripty či příkazy spouštěly pravidelně a automaticky – například každou minutu, hodinu, den nebo jen v konkrétní čas.
Práce s cronem
Nejprve se připojte na server s Linuxem – buď fyzicky, nebo přes SSH přístup.
Přístup ke konfiguraci
s největší pravděpodobností nebude stažený balíček pro příkazy cron, proto bude potřeba je ručně přes terminál stáhnout. Příkaz pro stažení se liší s distribucí:
Ubuntu / Debian - sudo apt update && sudo apt install cron
Arch - sudo pacman -S cronie
Fedora / CentOS / RHEL - sudo dnf install cronie (novější) nebo sudo yum install cronie
Gentoo - sudo emerge --ask sys-process/cronie
Příkazem crontab -e otevřeme plánovač úloh.
Schéma příkazu
Příkaz cronu se skládá z pěti znaků hvězdičky a následného příkazu na vykonání, například: * * * * * echo "Cron funguje!"
Tento příkaz vykoná každou minutu výpis "Cron funguje!"
Každá hvězdička v příkazu ukazuje jiný časový údaj:
* * * * * příkaz
│ │ │ │ │
│ │ │ │ └── Den v týdnu (0–7) → 0 nebo 7 = neděle
│ │ │ └──── Měsíc (1–12)
│ │ └────── Den v měsíci (1–31)
│ └──────── Hodina (0–23)
└────────── Minuta (0–59)
Volání bez ukládání
Existuje příkaz wget --no-check-certificate -q -O /dev/null zavolá stránku pro kontrolu dostupnosti.
Současně s cronem se dá využít na automatické kontroly stránek, nebo spouštění úloh bez stahování souborů.
Příklad pro nastavení v konfigu cronu volání stránky www.mojedomena.cz každých 12 hodin: 0 */12 * * * wget --no-check-certificate -q -O /dev/null https://www.mojedomena.cz
Ověření příkazu
Pro ověření, zda je cron aktivní, můžete jej vypsat pomocí příkazu crontab -l


