V tomto článku se dozvíte:
- Co je a jak funguje CRON na webhostingu
- Jak vytvořit skript pro spuštění CRONem
- Jak spravovat úlohy CRONu
- Běžné problémy
- Často kladené dotazy
CRON na Webhostingu
CRON, který najdete v administraci Webhostingu, je nástroj pro opakované spouštění úloh nastavených PHP skriptem uloženým na Webhostingu.
CRON na Webhostingu je výrazně zjednodušená a omezená verze stejnojmenného nástroje systému Linux. Je určený ke spouštění PHP skriptů, nikoliv příkazů Bash.
Hlavním omezením webhostingového CRONU je počet úloh, které službě můžete nastavit, a minimální časový interval spouštění těchto úloh.
- V základním nastavení můžete webhostingu nastavit až 3 různé úlohy CRONu spouštěné v minimálním intervalu 1 hodiny.
- Pomocí doplňkové služby CRON+ zvýšíte maximální počet úloh na 10 a minimální časový interval spouštění na 5 minut.
- V případě WMS webhostingu počet CRONů neomezujeme, minimální časový interval je 5 minut. Nemusíte aktivovat žádnou příplatkovou službu.
Další důležité informace:
- Přes CRON můžete volat pouze skripty na konkrétním Webhostingu, nelze volat jiné URL, skripty z jiného webhostingu nebo spouštět příkazový řádek.
- Systém nezasílá notifikace ani dále nezpracovává výstup.
- Nemůžeme 100% garantovat, že se skript spustí přesně v určenou minutu; z povahy služby server v dané časy spouští mnoho skriptů najednou a vykonávání se může zdržet.
Skripty pro spuštění CRONem
Všechny činnosti, které má skript spouštěný CRONem vykonat, doporučujeme zadat do jednoho PHP souboru, který CRONu nastavíte. Tento skript podléhá všem běžným pravidlům a omezením PHP na webhostingu – funguje úplně stejně, jako kdybyste jej spouštěli v prohlížeči.
CRONem spouštěné PHP skripty nemohou zasahovat do nastavení PHP ani fungování operačního systému webhostingu.
CRON umožňuje zadání parametrů skriptu v URL adrese, např. cron.php?key=123456¶m=test
. Doporučujeme tyto parametry používat mimo jiné k zabezpečení proti náhodnému spuštění skriptu zvenčí, například robotem indexujícím soubory webu.
Další důležité informace:
- Zahrňte do skriptu i systém zámků, který zabrání škodám v případě zpožděného nebo opakovaného spuštění.
- Systém nedovoluje využívat HTTP autentizaci, doporučujeme vložit do URL tajný řetězec, který skript ověří a pak teprve začne vykonávat svou hlavní činnost.
- Neomezujte vykonávání skriptu na konkrétní IP, nemůžeme zaručit, že se nebude měnit.
Správa úloh CRONu
Pro vstup do rozhraní správy úloh CRONu postupujte těmito kroky:
- Přihlaste se do zákaznické administrace.
- V horním menu vyberte Hostingové služby Webhosting nebo WMS.
- Vyberte službu, u které chcete CRON nastavit.
- V levém menu klikněte na CRON.
V tomto rozhraní můžete CRONy:
Založení CRON úlohy
Formulář pro založení nové CRON úlohy najdete v rozhraní správy CRONů pod tabulkou přehledu. Zadejte:
- Název. Můžete nastavit libovolný název.
- Frekvenci a data spouštění. Dostupné frekvence (od 5 minut nebo 1 hodiny do 12 hodin) závisí na variantě služby CRON. Dále můžete nastavit dny a časy kdy CRON spouštět a případně omezit data, během kterých ke spouštění dojde.
- URL PHP skriptu, který má CRON spouštět. Parametry přidávejte přímo do URL adresy, např.
cron.php?parametr=hodnota
. Více parametrů oddělte znakem&
.
Úprava a mazání CRON úlohy
Do rozhraní pro úpravu CRON úlohy vstoupíte kliknutím na ikonu tužky v levé části přehledu CRONů.
CRON úlohu smažete kliknutím na červený křížek v levé části přehledu CRONů.
Chcete-li úlohu pouze pozastavit, aniž byste ji mazali, upravte ji tak, aby Datum do obsahovalo současné datum. Smazáním tohoto nastavení chod úlohy obnovíte.
Běžné problémy
Mezi běžné problémy s CRONem patří:
CRON se nespouští
Problém: CRON nespouští nastavený skript.
Příčina: CRON je pozastavený nebo volá neexistující skript. Chyba může být také ve skriptu samotném.
Řešení: Proveďte následující kontroly:
- V rozhraní správy úloh CRONu zkontrolujte, že další spuštění je naplánováno.
- V prohlížeči ověřte, že se při zadání celé adresy včetně protokolu a parametrů skript správně spouští.
Pokud je skript správně naplánovaný a v prohlížeči funguje, ale CRON jej přesto nespouští, zřiďte dočasný FTP přístup pro podporu podle tohoto návodu a pošlete detailní popis problému přes formulář.
Nelze zadat požadované nastavení
Problém: Manuál k mojí aplikaci po mě žádá nastavení CRONu, ale skripty podle pokynů nejdou ve Vaší administraci zadat.
Příčina: Aplikace často pojmem CRON rozumí Linuxový nástroj, který volá příkazy terminálu. Webhosting CRON ale podporuje pouze spouštění PHP souborů.
Řešení: Zkuste dosáhnout požadovaných výsledků PHP skriptem, který CRON volat dokáže.
Často kladené dotazy
Otázka: Co když potřebuji na webhostingu víc než 3 CRONy?
Odpověď: Doplňková služba CRON+ zvýší maximální počet úloh na 10 a minimální časový interval spouštění na 5 minut.
Otázka: Jak se dostanu do detailnějšího nastavení CRONu?
Odpověď: V rozhraní webhostingu podrobnější nastavení neposkytujeme. Podmínky ale můžete zadat i do samotného PHP skriptu, který CRON spouští.
Otázka: Co jsou parametry?
Odpověď: Parametry v URL adrese jsou běžné PHP parametry typu GET.
Otázka: Pokud mám CRON+, mají moje skripty prioritu oproti skriptům běžných uživatelů?
Odpověď: Ne, při volání skriptů v daný čas nejsou skripty uživatelů s CRON+ nijak zvýhodněny.