Serverhosting návody
CRON Unix, Solaris (nastavení, příkazy)
- Zveřejněno: 30. listopad -0001
- Zobrazeno: 2249
Cron je nástroj pro Unix a Solaris, který umožňuje spouštět úlohy na pozadí v pravidelných intervalech cron démonem. Crontab (CRON tabulka) je soubor, který obsahuje plán záznamů cron, které proběhnou v určitou dobu.
1. Povolení a omezení Crontab
Crontab mohou spustit všichni uživatelé, kteří jsou uvedeni v souboru /usr/lib/cron/cron.allow. Pokud soubor neexistuje, můžete crontab použít, pokud není Vaše uživatelské jméno v souboru /usr/lib/cron/cron.deny.
Pokud existuje pouze soubor cron.deny a je prázdný, mohou crontab používat všichni uživatelé. Pokud neexistují žádné z těchto souborů, pak může použít crontab pouze uživatel root.
Povolení či zakaz se do souborů zadává vždy ve tvaru jedno uživatelské jméno na řádek.
2. Příkazy Crontab
export EDITOR = vi, určení ve kterém editoru se crontab bude upravovat.
crontab -e upraví nebo vytvoří (pokud již neexistuje) crontab
crontab -l zobrazení crontab
crontab -r odstraní crontab
crontab -v zobrazí úpravy crontab v poslední době (tato volba je k dispozici pouze na některých systémech)
3. Crontab
Syntaxe Crontab:
Soubor crontab má pět polí pro zadávání dne, datumu a času, po kterých následuje příkaz ke spuštění v tomto intervalu.
* * * * * příkaz, který se má spustit - - - - - | | | | | | | | | +----- den v týdnu (0 - 6) (neděle=0) | | | +---------- měsíc (1 - 12) | | +-------------- den v měsíci (1 - 31) | +-------------------- hodina (0 - 23) +-------------------------- minuta (0 - 59)
Hodnota v jednotlivých sloupcích může nabít hodnoty * nebo seznam prvků oddělených čárkami.
Hodnota je buď číslo v rozsahu uvedeném výše, nebo dvě čísla v rozsahu od sebe odděleny pomlčkou (=včetně).
4. Příklad Crontab
Níže uvedený řádek v crontabu smaže soubory z adresáře /home/uzivatel1234/tmp každý den v 21:35.
35 21 * * * rm /home/uzivatel1234/tmp/*
Změna hodnot parametrů v dle níže uvedené tabulce umožňuje tento příkaz spustit v určitém časovém harmonogramu:
min | hodina | den/měsíc | měsíc | den/týden | čas provedení |
---|---|---|---|---|---|
30 | 0 | 1 | 1,6,12 | * | 00:30 hod. 1den v lednu, červnu a pros. |
0 | 20 | * | 10 | 1-5 | 20:00 každý všední den (Po-Pá) jen v říjnu |
0 | 0 | 1,10,15 | * | * | o půl noci 1., 10. a 15. dne v měsíci |
5,10 | 0 | 10 | * | 1 | v 00:05,00:10 každé pondělí a 10. každého měsíce |
5. Vypnutí emailu
Standardně cron odešle e-mail na uživatelský účet provádějící Cronjob. Pokud to není nutné, lze umístit následující příkaz na konci řádku s úlohou.
>/dev/null 2>&1