# 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: ```cron # ┌───────────── 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í ```cron # 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: ```bash 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 ```bash crontab -l > scripts/crontab ``` ### 2. Nahrát zpět do systému ```bash crontab scripts/crontab ``` ### 3. Doporučená struktura v repozitáři ``` repo-root/ ├── scripts/ │ └── crontab ``` --- ## 🧪 Tipy pro testování - Skripty musí být **spustitelné**: ```bash chmod +x script.sh ``` - Používej **absolutní cesty** (např. `/home/user/scripts/muj.sh`) - Pro logování výstupu do souboru: ```cron 0 6 * * * /home/user/scripts/backup.sh >> /var/log/backup.log 2>&1 ``` --- ## 📚 Užitečné odkazy - [crontab.guru](https://crontab.guru) – snadná vizualizace a kontrola výrazů ---