Co je to vlastně Cron?

Cron je program, démon běžící na pozadí operačního systému, který umožňuje spouštět programy a skripty v časových intervalech nebo v

určený čas podle nastavení uživatele.

Cron je vhodné použít pro opakované operace, např. každodenní generování statistik, odesílání newsletterů, přepočítávání databázových záznamů, předvytváření cache, generování datových skladů apod.

Jak Cron nastavím?

U každého webhostingu je možné nastavit pravidelné spouštění skriptu.

Pokud máte zájem o zprovoznění této služby, kontaktujte nás.

Důležité informace

  • Přes cron lze volat pouze URL adresy směřující na daný webhosting na našich serverech. Nelze volat URL adresy jiné nebo spouštět nějaké příkazy na příkazové řádce.
  • Nelze 100% garantovat, že se cron spustí v přesně danou minutu.
  • Doporučujeme ve vašem PHP skriptu použít nějaký systém zámků pro případ, že by se cron spustil kvůli nějakému technickému problému vícekrát, což může být pro vaši aplikaci nežádoucí
  • Nelze volat PHP skript, který vyžaduje HTTP autentizaci - vyřešte to vložením nějakého dodatečného URL parametru s heslem, bez kterého nepůjde skript spustit přímo
  • Neomezujte vykonání PHP skriptu na zdrojovou IP adresu. Nemůžeme zaručit, že se IP adresa serveru, který skripty volá, nezmění. Řešte taktéž dalším tajným parametrem v URL adrese.

Jaké druhy spouštění Cronu jsou?

Spouštění 1x za určitý interval:

  • 1 hodina - každou celou hodinu (v 0 minut)
  • 2 hodiny - každou sudou hodinu (v 0 minut)
  • 4 hodiny - každou čtvrtou hodinu, počínaje půlnocí (v 0 minut)
  • 6 hodin - každou šestou hodinu, počínaje půlnocí (v 0 minut)
  • 12 hodin - denně o půlnoci a v poledne (v 0 minut)

Hodiny ve dne (od/do) - Rozmezí hodin, od kdy do kdy se má skript každý den vykonávat vykonávat.

  • celý den - 0 až 23
  • část dne - např. 11 až 15 nebo např. 22 až 2 (od půlnoci do 2 a od 22 do půlnoci)
  • jen 1x za den v určitou hodinu - např. 11 až 11

Dny v týdnu

  • Jaké dny se skript má resp. nemá spouštět (pondělí až neděle).

Datum (od/do)

  • Rozmezí datumů, od kdy do kdy se má skript vykonávat, ve formátu RRRR-MM-DD. Tato nastavení jsou nepovinná, nemusí být uvedeny nebo je možné uvést pouze jeden z datumů. Datum do nesmí být menší než dnešní datum a zároveň nesmí být menší než datum od.
  • Jestli není vyplněn ani jeden z datumů, neexistuje omezení datumu. Jestli je zadáno pouze datum od, bude skript vykonáván od tohoto datumu bez konce platnosti. Jestli je zadáno pouze datum do, bude skript vykonáván od teď do konce platnosti. Jestli jsou vyplněna obě data, skript bude vykonáván v tomto rozmezí.

URL skriptu - Adresa skriptu, který bude periodicky spouštěn.

  • subdoména - doména třetího řádu
  • doména - doména druhé úrovně, směřující na váš webhosting
  • skript - název skriptu s případnými parametry v url

Pomocí těchto nastavení můžete vytvořit např. takovouto adresu skriptu: http://www.vas-web.cz/cron/skript.php?data=123.

Aby bylo možné skript vykonávat, je nutné aby byly splněny následující podmínky:

  • doména skriptu musí směřovat na našem webhostingu
  • skript musí existovat na uvedené adrese
  • podle konfigurace musí být možné zjistit datum dalšího spuštění

Příklady nastavení

Každou hodinu, ve všední dny od 8h do 17h, do 23. prosince 2010

  • Spouštět 1x za: 1 hodina
  • Hodiny ve dne: od 8 do 17
  • Dny v týdnu: pondělí až pátek
  • Datum: do 2010-12-23

V 15h, každý den, od 1. ledna 2011

  • Spouštět 1x za: 1 hodina
  • Hodiny ve dne: od 15 do 15
  • Dny v týdnu: pondělí až neděle
  • Datum: od 2011-01-01

Každé 2 hodiny, mimo 6-16h, každý den

  • Spouštět 1x za: 2 hodiny
  • Hodiny ve dne: od 16 do 6
  • Dny v týdnu: pondělí až neděle
  • Datum: