Vyhledávání


vytiskni pdf
Automatické úlohy

Linuxové distribuce umožňují nastavení skriptů tak, že se spouští periodicky po uplynutí určité doby, nebo je lze nastavit na spuštění v den, hodinu.

Nastavení Cron úloh

Hlavním konfiguračním souborem pro cron je /etc/crontab, který obsahuje následující řádky:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


První čtyři řádky jsou proměnné, které lze přizpůsobit vašim potřebám.
Proměnná SHELL udává, který shell se má použít. V našem případě jde o bash.
Proměnná PATH se používá pro definici cesty ke spouštěnému programu.
Výstupy z úloh spuštěných cronem jsou zasílány uživately, který je definován pod MAILTO.
Jestliže proměnná MAILTO je definována jako prázdný řetězec, e-mail nebude odeslán.
Proměnná HOME je označením domovského adresáře, který se použije při spouštění skriptů.

Každý řádek v souboru /etc/crontab má formát:

minuta hodina den měsíc den_v_týdnu příkaz

  • minuta — celé číslo od 0 do 59
  • hodina — celé číslo od 0 do 23
  • den — celé číslo od 1 do 31 (musí být platný den, jestliže je zadán i měsíc)
  • měsíc — celé číslo od 1 do 12 (nebo lze použít zkráceninu anglického názvu měsíce jako jan, feb, atd.)
  • den_v_týdnu — celé číslo od 0 do 7, kde 0 a 7 je neděle(opět lze použít zkráceninu sun, mon, atd.)
  • příkaz — příkaz ke spuštění. Příkaz může být například i ls /proc >> /tmp/proc, nebo může jít o příkaz, který spustí určitý skript.

Pro všechny hodnoty může být použita * místo všech možných hodnot. Například * pro měsíc znamená, že se bude úloha spouštět každý měsíc.

Mínus - mezi dvěma hodnotama značí rozsah, kdy se bude příkaz spouštět. Příklad: 1-4 znamená 1, 2, 3, 4.

Seznam hodnot oddělených čárkou je brán jako výčet. Například 3, 4, 6, 8.

Lomítko / může být použito při zadání rozmazí a kroku pomocí kterého budeme přecházet z hodnoty na hodnotu. Příklad: 0-59/2 znamená, že se příkaz bude provádět každé 2 minuty. Zde by šlo i použít toto */2

Každá řádka, která začíná # je komentářem a je ignorován.

Jak začít automatické úlohy na webhostingu?

Nejdříve si ověřte, že skript funguje v shell módu. Aby jste toto provedi, musíte umístit #!/usr/local/bin/php, pro php skript, #!/usr/bin/perl, pro perl, či #!/bin/bash, pro shell skript. Poté použijte chmod 700 skrypt.cgi příkaz pro skript. Jestliže máte telnet/ssh přístup, měli by jste ověřit ./script.cgi.

Nezapomeňte na použití cd /home/login příkazu na začátku skriptu.
Můžete také použít celou cestu k souboru.

Po prověření skriptu s shell módu, musíte e-mailem kontaktovat podporu OVH a poskytnout jim následující data:


  • doména
  • cesta ke skriptu (např. /home/login/scipt.cgi),
  • hodinu a den spuštění skriptu