====== Cron (Plánovač úloh) ====== **Cron** je systémová služba, která běží na pozadí a neustále kontroluje konfigurační soubory (tzv. **crontab**), aby zjistila, zda v aktuální minutu nemá spustit nějaký příkaz nebo skript. ===== 1. Soubor crontab ===== Každý uživatel v systému může mít svůj vlastní soubor s úlohami. K jeho úpravě slouží příkaz: * ''crontab -e'' (editace) * ''crontab -l'' (výpis naplánovaných úloh) ===== 2. Formát zápisu (Syntaxe) ===== Zápis v crontabu se skládá z pěti časových polí a samotného příkazu. * * * * * příkaz, který se má provést - - - - - | | | | | | | | | +----- den v týdnu (0 - 6) (neděle = 0) | | | +------- měsíc (1 - 12) | | +--------- den v měsíci (1 - 31) | +----------- hodina (0 - 23) +------------- minuta (0 - 59) ===== 3. Praktické příklady ===== ^ Časový zápis ^ Význam ^ | **0 5 * * *** | Každý den v 5:00 ráno. | | **30 18 * * 1-5** | Každý pracovní den v 18:30. | | **0 0 1 * *** | Prvního dne v měsíci o půlnoci. | | *** /15 * * * *** | Každých 15 minut. | | **0 12 * * 0** | Každou neděli v poledne. | ===== 4. Speciální zkratky ===== Moderní verze cronu umožňují místo čísel použít čitelnější zkratky: * **@reboot**: Spustí příkaz jednou po startu systému. * **@daily**: Spustí příkaz jednou denně (shodné s ''0 0 * * *''). * **@hourly**: Spustí příkaz každou hodinu (shodné s ''0 * * * *''). ===== 5. Důležitá pravidla a rady ===== * **Absolutní cesty:** Cron nemá stejné prostředí ([[it_encyklopedie:shell|PATH]]) jako běžný uživatel. Vždy používejte celé cesty (např. ''/usr/bin/python3'' místo pouhého ''python3''). * **Logování výstupu:** Cron posílá výstupy standardně e-mailem. Je lepší je přesměrovat do souboru: * ''0 2 * * * /home/user/backup.sh > /home/user/log.txt 2>&1'' * **Anacron:** Pokud je počítač v době plánované úlohy vypnutý, standardní cron ji po zapnutí neprovede. K tomu slouží nástroj **Anacron**, který je běžný u notebooků. > **Zajímavost:** Existuje online nástroj **Crontab.guru**, který slouží jako interaktivní editor a "překladač" cron výrazů do lidské řeči. Pomáhá předejít chybám, jako je nechtěné spuštění zálohování každou minutu místo jednou za hodinu. [[it_encyklopedie:linux_rozcestnik|Zpět na Linux]]