Crontab je nástroj používaný v operačních systémech Unix a Linux k automatizaci spouštění skriptů, příkazů nebo programů v předem definovaných časových intervalech. Jde o zásadní součást plánování úloh na pozadí, která umožňuje uživatelům a správcům systému naplánovat úlohy, jako je zálohování dat, aktualizace softwaru nebo jiné rutinní úkoly, aby se prováděly automaticky ve specifikovaných časech.
Základní syntaxe Crontabu
Crontab soubor se skládá z řádků, kde každý řádek reprezentuje jednu plánovanou úlohu. Každý řádek má specifickou formu, která definuje kdy a jak často se má úloha spustit, a zahrnuje pět polí určujících čas a jeden příkaz, který se má provést. Tato pole jsou oddělena mezerou nebo tabulátorem a mají následující formát:
MINUTA HODINA DEN_MĚSÍCE MĚSÍC DEN_TÝDNE PŘÍKAZ
- MINUTA: hodnota od 0 do 59
- HODINA: hodnota od 0 do 23
- DEN_MĚSÍCE: hodnota od 1 do 31
- MĚSÍC: hodnota od 1 do 12
- DEN_TÝDNE: hodnota od 0 (neděle) do 6 (sobota)
- PŘÍKAZ: příkaz nebo skript, který se má spustit
Speciální znaky pro plánování
Crontab nabízí několik speciálních znaků pro flexibilnější plánování:
- *: reprezentuje "každý" časový údaj (např. každou minutu, hodinu, den)
- ,: umožňuje definovat více hodnot v jednom poli (např. 0,15,30,45)
- -: definuje rozsah hodnot (např. 1-5 v poli DEN_TÝDNE pro spuštění od pondělí do pátku)
- /: specifikuje krok; např. v poli MINUTA hodnota */15 znamená každých 15 minut
Užitečné příklady
-
Spuštění skriptu každý den v půlnoci
0 0 * * * /cesta/k/skriptu.sh
-
Zálohování databáze každou neděli ve 3 ráno
0 3 * * 0 /cesta/k/zalohovaci_skript.sh
-
Kontrola aktualizací každých 30 minut
*/30 * * * * apt-get update && apt-get upgrade -y
Jak pracovat s Crontabem
Pro práci s crontabem použijte následující příkazy v terminálu:
- Zobrazení aktuálního crontabu pro uživatele:
crontab -l
- Editace crontabu:
crontab -e
- Odstranění všech úloh crontabu:
crontab -r
Je důležité mít na paměti, že při plánování úloh pomocí crontabu byste měli vždy zvážit potenciální dopad na systémové zdroje a plánovat úlohy tak, aby nedocházelo k jejich vzájemnému ovlivňování nebo zbytečnému zatížení systému.
Crontab je mocný nástroj pro automatizaci a plánování úloh v Linuxu. Správným využitím jeho syntaxe a speciálních znaků můžete efektivně spravovat pravidelné úkoly a automatizovat rutinní operace na serveru nebo osobním počítači. S trochou praxe a pochopením jeho základů se může stát nepostradatelnou součástí vašeho administračního nástrojového balíčku.