Linux: Cron a jeho základní použití
Cron je plánovací nástroj (scheduler), který automatizovaně spouští příkazy, programy atd. Zjednodušeně řečeno se jedná o linuxovou obdobu plánovače úloh ve windows. Zpočátku se může zdát linuxový cron lehce komplikovanější na pochopení než ten klikací z windows, ale až do něj proniknete, tak budete překvapeni jeho jednoduchostí, kombinovatelností a rychlostí plánování...
Úlohy do cronu přidáte pomocí příkazu
crontab -e
a základem je pochopit, co znamená těch pět hvězdiček - * * * * * příkaz
. Je to velmi prosté:1*
- minuty2*
- hodiny3*
- den v měsíci4*
- měsíc5*
- dny v týdnu 0-6 (nula je neděle)Pomocí vhodného nakombinovaní lze pak naplánovat spousty variant spouštění příkazů.
Příklady plánování v cronu
Spustí skript.sh ve 23:0000 23 * * * /tmp/skript.sh
Spustí skript.sh každých pět minut*/5 * * * * /tmp/skript.sh
Spustí skript.sh každou nědeli ve 3:000 3 * * 0 /tmp/skript.sh
Spustí skript.sh každý třetí měsíc, druhý den, ve 12:00 a 24:000 0,12 2 */3 * /tmp/skript.sh
Spustí skript.sh každý měsíc v pondělí v 5:00 ve dnech 7 až 160 5 7-16 * 1 /tmp/skript.sh
Spustí skript.sh v pondělí až pátek každé 3 hodiny mezi 6:00 až 15:000 6-15/3 * * 1-5 /tmp/skript.sh
Dodatek
Změna výchozího editoru v bashi
export EDITOR=vim
Vypnutí upozornění na email o provedení cronu
crontab -e
a do rootu umístit MAILTO=""
Spuštění cronu pod jiným uživatelem např. www-data
crontab -u www-data -e
Změna spouštění času adresářů /etc/cron.daily , cron.weekly, cron.monthly
nano /etc/crontab
Zobrazit crontab nějakého uživatele
crontab -l -u uzivatel
(ukládá se do /var/spool/cron/crontabs/uzivatel)