Zpět na blog
Květen 23, 2026Návody

Jak nastavit cron úlohy na Linux serveru

Syntaxe cronu, úprava crontab, běžné příklady plánování a logování na VPS.

Jak nastavit cron úlohy na Linux serveru

Cron je standardní plánovač Linuxu pro spouštění skriptů a příkazů v pevných časech — zálohy, čištění cache, kontrola certifikátů a další. Tento průvodce ukazuje použití cronu na serveru Hiddence.

Syntaxe cronu

Každý řádek má pět časových polí a příkaz:

bash
# ┌──────── 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

# Každý den ve 3:00:
0 3 * * * /usr/local/bin/backup.sh

# Každých 15 minut:
*/15 * * * * /usr/local/bin/check.sh

Úprava crontab

Použijte crontab -e pro aktuálního uživatele. Systémové úlohy přes root:

bash
# Crontab uživatele
crontab -e

# Crontab root
sudo crontab -e

# Seznam úloh
crontab -l
sudo crontab -l

Běžné příklady

  • 0 2 * * * — denní záloha ve 2:00
  • 0 */6 * * * — každých 6 hodin
  • 0 0 * * 0 — každou neděli o půlnoci
  • */5 * * * * — každých 5 minut (opatrně)
  • @reboot /path/script.sh — po restartu serveru
  • @daily /usr/bin/certbot renew --quiet — denní kontrola SSL

Logování a ladění

Přesměrujte výstup do logu, abyste viděli chyby:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# Cron v systémovém logu:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

Tipy

  • V cron příkazech používejte absolutní cesty
  • Skripty nejdřív otestujte ručně
  • MAILTO=email v crontab pro chybové e-maily (pokud je mail nastaven)
  • Pro složité závislosti zvažte systemd timery
  • Nespouštějte náročné úlohy každou minutu — může to přetížit VPS