cron
Obsah
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í (PATH) jako běžný uživatel. Vždy používejte celé cesty (např.
/usr/bin/python3místo pouhéhopython3). - 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.
cron.txt · Poslední úprava: autor: admin
