CRON: Porovnání verzí

Z SvetHostingu.cz
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
značka: revertováno
Řádek 51: Řádek 51:
[[Kategorie:Multihosting| n]]
[[Kategorie:Multihosting| n]]
[[Category:SSH přístup| a]]
[[Category:SSH přístup| a]]
<!--
= 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í: </br>
Ubuntu / Debian - <code>sudo apt update && sudo apt install cron</code> </br>
Arch - <code>sudo pacman -S cronie</code> </br>
Fedora / CentOS / RHEL - <code>sudo dnf install cronie</code> (novější) nebo <code>sudo yum install cronie</code> </br>
Gentoo - <code>sudo emerge --ask sys-process/cronie</code> </br>
[[Soubor:cron_1.png|caption]]
Příkazem <code>crontab -e</code> otevřeme plánovač úloh.
[[Soubor:cron_3.png|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: <code>* * * * * echo "Cron funguje!"</code> </br>
Tento příkaz vykoná každou minutu výpis "Cron funguje!" </br>
Každá hvězdička v příkazu ukazuje jiný časový údaj: </br>
<code>* * * * * příkaz </br>
│  │  │  │  │ </br>
│  │  │  │  └── Den v týdnu (0–7)  → 0 nebo 7 = neděle </br>
│  │  │  └──── Měsíc (1–12) </br>
│  │  └────── Den v měsíci (1–31) </br>
│  └──────── Hodina (0–23) </br>
└────────── Minuta (0–59)</code>
== Volání bez ukládání ==
Existuje příkaz <code>wget --no-check-certificate -q -O /dev/null</code> zavolá stránku pro kontrolu dostupnosti. </br>
Současně s cronem se dá využít na automatické kontroly stránek, nebo spouštění úloh bez stahování souborů. </br>
Příklad pro nastavení v konfigu cronu volání stránky www.mojedomena.cz každých 12 hodin: <code>0 */12 * * * wget --no-check-certificate -q -O /dev/null https://www.mojedomena.cz</code>
-->

Verze z 21. 10. 2025, 12:28

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