Cron je nástroj pro plánování úloh v operačním systému Linux. Umožňuje automatické spouštění skriptů nebo příkazů v určitý čas, v určitých intervalech nebo při určitých událostech.
Chcete-li používat program Cron, musíte vytvořit soubor crontab, který obsahuje seznam úloh a časové intervaly, kdy mají být provedeny. Každá úloha v souboru crontab je řetězec, který se skládá z pěti polí oddělených mezerami:
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- day of the week (0 - 6) (Sunday = 0 or 7)
| | | +------- month (1 - 12)
| | +--------- day of the month (1 - 31)
| +----------- hour (0 - 23)
+------------- minutes (0 - 59)
* znamená libovolnou hodnotu, například pokud pole minutes obsahuje *, úloha se bude spouštět každou minutu. Pokud chcete pro některé pole nastavit konkrétní hodnotu, například každý den ve tři hodiny ráno, měli byste napsat 0 3 * * * *.
Chcete-li vytvořit nebo upravit soubor crontab, použijte příkaz crontab -e. Každý uživatel může mít svůj vlastní soubor crontab a také systémový soubor /etc/crontab, který obsahuje úlohy spouštěné jako uživatel root.
Existuje příkaz cronjob, který umožňuje spouštět úlohy uvnitř kontejnerů Docker. Funguje podobně jako crontab, ale úlohy lze spouštět uvnitř kontejneru místo v hostitelském systému.
Chcete-li začít používat příkaz Cron v systému Linux, postupujte podle následujících kroků:
1. Otevřete terminál a zadejte příkaz crontab -e. Tím se otevře soubor crontab pro aktuálního uživatele.
2. Do souboru crontab přidejte úlohu podle výše popsaného formátu pole. Chcete-li například každou hodinu spustit skript every_hour.sh, přidejte řádek 0 * * * * * * /path/to/every_hour.sh.
3. Uložte změny a zavřete soubor.
4. Pomocí příkazu crontab -l ověřte, zda byla úloha přidána do crontab. Zobrazí se seznam všech úloh přidaných do crontab.
5. Ověřte, zda úloha běží podle plánu, pomocí příkazu tail -f /var/log/syslog. Zobrazí se výstup související s prováděním úlohy.
6. Pokud chcete úlohu z crontab odstranit, použijte příkaz crontab -r.
Je třeba mít na paměti několik důležitých bodů:
crontab můžete přidávat skripty i příkazy. Pokud však chcete spustit skript, ujistěte se, že má oprávnění ke spuštění(chmod +x /path/to/script.sh).sudo crontab -e, který otevře soubor crontab pro uživatele root.Všimněte si, že čas zadaný v souboru crontab bude odpovídat času na serveru, na kterém je spuštěn Cron. Pokud používáte vzdálený server, ujistěte se, že je čas na serveru správně nakonfigurován.