2.6 KiB
2.6 KiB
Automatické spouštění úloh pomocí cron
cron
umožňuje automatické spouštění příkazů nebo skriptů v nastavený čas.
🧭 Základní syntaxe
Každý řádek v crontab
má tento formát:
# ┌───────────── minuta (0 - 59)
# │ ┌───────────── hodina (0 - 23)
# │ │ ┌───────────── den v měsíci (1 - 31)
# │ │ │ ┌───────────── měsíc (1 - 12)
# │ │ │ │ ┌───────────── den v týdnu (0 - 7) (0 a 7 = neděle)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * příkaz k provedení
🧮 Význam jednotlivých polí
Pole | Rozsah | Popis |
---|---|---|
Minuta | 0-59 |
Minuta, kdy se má úloha spustit |
Hodina | 0-23 |
Hodina ve 24h formátu |
Den měsíce | 1-31 |
Den v měsíci |
Měsíc | 1-12 |
Měsíc (1 = leden, 12 = prosinec) |
Den týdne | 0-7 |
Den v týdnu (0 a 7 = neděle) |
Příkaz | — | Úplná cesta ke skriptu/příkazu |
Použij
*
pro “každou hodnotu”.
Např.* * * * *
= každou minutu.
💡 Ukázky použití
# Každý den v 6:00 spustit zálohovací skript
0 6 * * * /home/user/scripts/backup.sh
# Každých 15 minut kontrola stavu
*/15 * * * * /home/user/scripts/check_status.sh
📅 Vytvoření a editace crontabu
Na Arch Linuxu (a většině systémů) upravíš crontab takto:
crontab -e
Tím se otevře crontab v editoru (např. nano
nebo vim
).
📥 Export a verzování crontabu
Pro správu crontab
v Git repozitáři:
1. Uložit aktuální crontab
do souboru
crontab -l > scripts/crontab
2. Nahrát zpět do systému
crontab scripts/crontab
3. Doporučená struktura v repozitáři
repo-root/
├── scripts/
│ └── crontab
🧪 Tipy pro testování
-
Skripty musí být spustitelné:
chmod +x script.sh
-
Používej absolutní cesty (např.
/home/user/scripts/muj.sh
) -
Pro logování výstupu do souboru:
0 6 * * * /home/user/scripts/backup.sh >> /var/log/backup.log 2>&1
📚 Užitečné odkazy
- crontab.guru – snadná vizualizace a kontrola výrazů