CRON: Porovnání verzí

Z SvetHostingu.cz
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
značka: revertováno
Bez shrnutí editace
značka: revertováno
Řádek 55: Řádek 55:




<!--
 
= O Cronu =
= O Cronu =



Verze z 21. 10. 2025, 12:36

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".

Administrace hostingu - sekce 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.

Administrace hostingu - přidání CRON úlohy

Po přidání se CRON úloha objeví v tabulce "Aktuálně nastavené úlohy".

Administrace hostingu - přidané CRON ú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".

crontab nápověda

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.

crontab - přidání úlohy

Seznam zadaných úloh si pak můžete zobrazit příkazem "crontab -l".

crontab - přidané úlohy

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.

Nahoru



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

caption


Příkazem crontab -e otevřeme plánovač úloh.

caption

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

caption -->