Jak správně nastavit cron, aneb cron every 30 minutes

Krátký článek o pravidlech nastavení cronu. A k čemu cron vlastně slouží? Co to je? A jak automaticky spouštět skript každých např. 30 minut?


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.

Definované úlohy spouštěné cronem jsou uloženy v souboru crontab, ten můžeme editovat např. z linuxové konzole zadáním příkazu crontab -e.

Po spouštění tohoto příkazu se objeví prázdná obrazovka, kde zapisujeme úlohy, které má cron spouštět.

Každá úloha je zapsána na jeden řádek a má předem stanovené pravidla zápisu. Skládá se z časového určení spuštění a z adresy skriptu, který se má spustit.

Minute = Určení minuty v hodině, 00 do 59. * hvězdička znamená každou minutu
Hour = Určení hodiny dne, 00 do 23. * hvězdička znamená každou hodinu
Day = Určení dne v měsící, 1 do 31. * hvězdička znamená každý den
Month = Určení měsíce v roce, 1 do 12. * hvězdička znamená každý měsíc
Day = Určení dne v týdnu, 3 znaky - sun, mon, tue, nebo číselně (0,1,2). * hvězdička znamená každý den
Task = Určení příkazu k vykonání

Každý z těchto parametrů musí být oddělen mezerou.

Jak spustit úlohu každých 30 minut? (cron every 30 minutes)

První možností je definovat všechny výskyty 30 minut v hodině a zbytek nastavit na opakování v každém výskytu, podobně budem postupovat při volání úlohy každých 5 minut.

0,30 * * * * http://www.example.cz/skript.php

0,5,10,15,20,25,30,35,40,45,50,55 * * * * http://www.example.cz/skript.php

Druhá možnost je tento zápis:

*/30 * * * * http://www.example.cz/skript.php

*/5 * * * * http://www.example.cz/skript.php

Cron každý den v 23.00?

00 23 * * * http://www.example.cz/skript.php

Cron každou neděli v 23.00?

00 23 * * sun http://www.example.cz/skript.php

Vypsání všech nastavení cronu

Opět zadáním příkazu v konzoli, je to crontab -l.

podobné články

01.12.2008Cron a kdo vlastně spouští skript? Démon v pozadí nebo uživatel v prohlížeči?(20%)