Cron je linuxová služba (démon), která se stará o pravidelné spouštění definovaných skriptů v definovanou dobu. Nic složitého na tom není. Zajímavější je však jeho nastavení. Osobně většinou tápu v správném nastavení časů. Takže jak to je?
Nastavení cronu najdete v souboru /etc/crontab. Editovat ho můžete třeba příkazem crontab -e, samotné vypsání je s parametrem -l. Formát zápisu si ukážeme na příkladu, který každou hodinu spustí definovaný skript.
Minute | Hour | Day | Month | Day | Task |
00 | 01 | * | * | * | http://www.vasedomena.cz/vasskript.php |
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, wed, thu, fri, sat nebo číselně (0,1,2). * hvězdička znamená každý den
Task = Určení příkazu k vykonání – funguje jak http adresa, tak absolutní cesta
Jednotlivé parametry se oddělují mezerou.
Pokud budete chtít skript spouštět pravidelně každých deset minut uděláte to následovně:
a) buď výčtem minut, kdy se má spustit:
00,10,20,30,40,50 * * * * http://www.vasedomena.cz/vasskript.php
b) nebo maskou */10 * * * * http://www.vasedomena.cz/vasskript.php
Pár příkladů:
Spuštění skriptu v pondělí o půlnoci 00 00 * * mon http://www.vasedomena.cz/vasskript.php
Spuštění skriptu každých 30 minu každou sudou hodinu 30 */2 * * http://www.vasedomena.cz/vasskript.php
Spuštění každou hodinu jen ve středu 00 01 * * wed http://www.vasedomena.cz/vasskript.php