Logo Ubuntu

Linuxový server: Cron – automaticky prováděné úlohy v linuxu

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ů

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *