Cron je nástroj – plánovač úloh, který v operačních systémech automaticky spouští zadaný příkaz, skript či program v předem nastaveném čase a intervalu.
Instalace
$ sudo apt-get install cron
Nastavení úloh
Úlohu pro cron lze nastavit dvěma způsoby:
- Vložení souboru se skriptem do jedné ze složek:
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.weekly
- /etc/cron.monthly
- Použití crontab
- Více možností nastavení
crontab
Tabulky naplánovaných úloh jednotlivých uživatelů.
/var/spool/cron/crontabs root ubuntu www-data uzivatel1
Soubory neupravujeme přímo, ale právě pomocí příkazu crontab
Editace tabulky přihlášeného uživatele
$ crontab -e
Editace tabulky jiného uživatele
$ crontab -u <user> -e
Je třeba mít práva.
Zobrazení tabulky uživatele
$ crontab -l
Smazání tabulky uživatele
$ crontab -r
Syntaxe řádku úlohy cronu
* * * * * prikaz
- nastavení času
- minuta
- hodina
- den v měsící
- měsíc v roce
- den v týdnu (rozsah 0–7, 0 a 7 je neděle)
- příkaz
Příklady
Každé pondělí v 5:00:
0 5 * * 1 prikaz
Každé úterý ve 2:30:
30 2 * * 2 prikaz
Výstup cronu a logování
Ve výchozím stavu je pro každý úkol provedený cronem zaslána zpráva na emailovou adresu daného uživatele.
Nastavení emailu
V souboru crontab lze uvést emailovou adresu:
$ crontab -e
MAILTO="info@contineo.cz"
Logování do souborů
Nastavení logování výsledků provedení úloh cronu.
Přidání záznamu logu nakonec souboru
* * * * * prikaz cronu >> file.log
Vypnutí logování z cronu
Pokud o výstup nemáme zájem, lze ho přesměrovat do /dev/null
* * * * * prikaz cronu > /dev/null
ToDo
- Omezení přístupu uživatelů ke cronu
- Další typy syntaxe intervalů