Vysvětlení cron výrazu

Popis cron výrazu česky, výpis dalších spuštění a převod na crontab, systemd timer, launchd (macOS) a Plánovač úloh Windows. Anglicky cron expression parser.

Vše se počítá přímo v tomto prohlížeči — žádná data nikam neodcházejí.

Cron výraz

V 12:00

Nasazení na Linux, macOS nebo Windows

Výraz výše převede na konfiguraci plánovače v cílovém systému, včetně příkazů pro instalaci.

Řádek do crontabu
# zaloha: V 12:00
0 12 * * * /usr/local/bin/zaloha.sh
Instalace a kontrola
# Otevře crontab v editoru; řádky vlož na konec a ulož:
crontab -e

# Nebo je přidej bez editoru:
(crontab -l 2>/dev/null; cat <<'CRON'
# zaloha: V 12:00
0 12 * * * /usr/local/bin/zaloha.sh
CRON
) | crontab -

# Kontrola:
crontab -l
  • Cron spouští příkaz přes /bin/sh s minimální proměnnou PATH. Používej absolutní cesty a výstup přesměruj do souboru, např. >> /tmp/uloha.log 2>&1.

Jak použít: Vysvětlení cron výrazu

Cron výraz určuje, kdy se má spouštět naplánovaná úloha. Nástroj ho popíše česky, například výraz 0 3 * * * jako „V 03:00“, vypíše nejbližší časy spuštění a převede ho na konfiguraci pro Linux (crontab, /etc/cron.d, systemd timer), macOS (launchd) a Windows (Plánovač úloh).

  1. Zadej výraz do pole Výraz (5 polí, nebo 6 se sekundami na začátku), případně klikni na některou předvolbu.
  2. Zvol Časové pásmo a v poli Počet dalších spuštění nastav, kolik příštích termínů chceš vidět.
  3. V části Nasazení vyber systém a plánovač, vyplň Příkaz a Název úlohy, pak soubor stáhni a spusť příkazy z Instalace a kontrola.

Časté chyby a tipy

Pořadí polí
Pět polí znamená minuta, hodina, den v měsíci, měsíc a den v týdnu. Nejčastější chyba je záměna minuty a hodiny: 0 3 * * * je 3:00, 3 0 * * * je 0:03.
Časové pásmo serveru
Servery a cloudové služby často běží v UTC. Úloha nastavená na 3:00 pak v Česku proběhne ve 4:00 nebo v 5:00 podle letního času.
Den v měsíci i v týdnu
Když zadáš obě pole, klasický cron spustí úlohu, pokud platí kterékoli z nich — ne obě zároveň.

Nástroj je zdarma a běží celý v tvém prohlížeči — vložená data se nikam neodesílají ani neukládají.

Co je cron a jak funguje

Cron je plánovač úloh v unixových systémech. Spouští příkazy a skripty v zadaný čas, třeba noční zálohu, odesílání e-mailů, čištění dočasných souborů nebo stahování XML feedu. Název pochází z řeckého chronos, čas. Plán se zapisuje cron výrazem, který dnes kromě Linuxu používají i cloudové služby, CI systémy a knihovny v mnoha jazycích.

Jak cron spouští úlohy

  1. Na pozadí běží démon cron (na některých systémech crond), který se spustí se systémem.
  2. Jednou za minutu projde všechny tabulky úloh: crontaby uživatelů (upravují se příkazem crontab -e), soubor /etc/crontab a soubory v /etc/cron.d/.
  3. U každého řádku porovná aktuální čas s pěti poli výrazu. Když všechna sedí, spustí příkaz přes /bin/sh pod vlastníkem tabulky.
  4. Vše, co příkaz vypíše, pošle cron e-mailem na adresu v proměnné MAILTO. Bez nastavené pošty se výstup ztratí, proto se přesměrovává do souboru.

Cron nečeká, až předchozí běh skončí, a zmeškané úlohy nedohání: když je počítač v danou minutu vypnutý, úloha se neprovede. Dohánění řeší anacron, systemd timery s Persistent=true a na macOS launchd.

Zápis cron výrazu

Výraz má pět polí oddělených mezerou, za nimi následuje příkaz:

# ┌───────── minuta (0–59)
# │ ┌─────── hodina (0–23)
# │ │ ┌───── den v měsíci (1–31)
# │ │ │ ┌─── měsíc (1–12)
# │ │ │ │ ┌─ den v týdnu (0–7, neděle = 0 nebo 7)
# │ │ │ │ │
  30 2 * * 1-5 /usr/local/bin/zaloha.sh >> /var/log/zaloha.log 2>&1
PoleHodnotyPříkladVýznam
Minuta0–59*/15každých 15 minut
Hodina0–239-17od 9 do 17 hodin
Den v měsíci1–311,151. a 15. den v měsíci
Měsíc1–12 nebo JAN–DEC*každý měsíc
Den v týdnu0–7 nebo SUN–SAT (0 i 7 je neděle)MON-FRIpondělí až pátek
ZápisVýznam
*jakákoli hodnota
,výčet hodnot, např. 1,15,30
-rozsah, např. 9-17
/krok, např. */10 (každá desátá) nebo 5-55/10
@rebootjednou po startu systému
@hourly, @daily, @weekly, @monthly, @yearlyzkratky za 0 * * * *, 0 0 * * *, 0 0 * * 0, 0 0 1 * * a 0 0 1 1 *

Šesté pole se sekundami na začátku a znaky L (poslední den) nebo # (třeba druhé pondělí v měsíci) jsou rozšíření knihoven a cloudových služeb. Klasický cron na Linuxu a macOS je nezná.

Plánování úloh v různých systémech

SystémPlánovačKde se nastavujePoznámka
Linuxcron (cronie, Vixie cron), systemd timery, anacroncrontab -e, /etc/crontab, /etc/cron.d/, /etc/cron.daily/; timery v /etc/systemd/system/Většina distribucí má cron i systemd. Timery zapisují výstup do žurnálu a umí dohnat zmeškané spuštění.
macOSlaunchd (cron jen kvůli kompatibilitě)~/Library/LaunchAgents/, /Library/LaunchDaemons/Úloha je soubor plist s klíčem StartCalendarInterval. Když Mac spí, launchd ji spustí po probuzení.
WindowsPlánovač úloh (Task Scheduler)aplikace Plánovač úloh, příkaz schtasks, PowerShell Register-ScheduledTaskCron výrazy nezná. Plán se skládá ze spouštěčů (denně, týdně, měsíčně) s volitelným opakováním.
Cloud a CIGitHub Actions, GitLab CI, Kubernetes CronJob, AWS EventBridge, Quartzkonfigurace projektu nebo službyGitHub Actions běží v UTC. AWS a Quartz mají 6 až 7 polí (sekundy, rok) a znak ? pro „nezáleží“.

Generátor výše převede cron výraz na konfiguraci pro Linux, macOS i Windows.

Proč úloha z cronu neběží

Jiné prostředí než v terminálu
Cron nenačítá .bashrc ani .profile a PATH obsahuje jen /usr/bin:/bin. Piš absolutní cesty k programům i souborům, nebo nastav PATH na začátku crontabu.
Znak % v příkazu
V crontabu znamená % konec řádku. Příkaz date +%F je proto nutné zapsat jako date +\%F. Generátor to udělá sám.
Časové pásmo
Cron počítá čas v pásmu serveru, často v UTC. V noci přechodu na letní a zimní čas se úlohy mezi 2:00 a 3:00 můžou podle implementace posunout, vynechat nebo spustit dvakrát, proto do této hodiny důležité úlohy neplánuj.
Překrývající se běhy
Když úloha trvá déle než interval, spustí se další běh souběžně. Zabrání tomu zámek: flock -n /tmp/zaloha.lock /usr/local/bin/zaloha.sh.
Chybí oprávnění nebo poslední řádek
Skript musí být spustitelný (chmod +x). Poslední řádek crontabu musí končit znakem nového řádku, jinak ho cron ignoruje.

Kde hledat záznamy

  • Debian, Ubuntu: grep CRON /var/log/syslog nebo journalctl -u cron
  • Fedora, RHEL: /var/log/cron nebo journalctl -u crond
  • systemd timery: systemctl list-timers a journalctl -u nazev.service
  • macOS: launchctl print gui/$(id -u)/nazev a soubory z StandardOutPath
  • Windows: Plánovač úloh → úloha → karta Historie, nebo schtasks /query /tn nazev /v

Další nástroje v kategorii Web a ladění

  • JWT dekodér a ověření podpisu Dekódování JWT tokenu, kontrola platnosti (exp, nbf, iat) a ověření podpisu.
  • Tester regulárních výrazů Tester regexů pro JavaScript, PHP, Python, Go, .NET, Javu i Rust: shody, vysvětlení, mapa výrazu, náhrada, testy a hotový kód.
  • Kontrola a vyčištění SVG Kontrola SVG na skripty, zakódované stránky v Base64, vložené soubory, phishingové formuláře a externí zdroje a jejich bezpečné odstranění.
  • Validátor XML feedu pro Heureku a Zboží.cz Kontrola produktového XML feedu podle specifikace Heureka.cz a Zboží.cz: povinné elementy, formát ceny, dostupnosti a EAN, kódy dopravců, duplicitní ITEM_ID a jmenný prostor.
  • Náhled HTML a CSS Bezpečný náhled HTML a CSS v izolovaném rámu s výběrem šířky zařízení.
  • Porovnání dvou textů (diff) Porovnání dvou textů po řádcích, slovech nebo znacích, včetně unified diff.
  • Náhled Markdownu Živý náhled Markdownu (GitHub Flavored) s bezpečným HTML výstupem.
  • Převodník barev (HEX, RGB, HSL, OKLCH) Převod barev mezi HEX, RGB, HSL, HWB, OKLCH a Lab s kontrastem podle WCAG.
  • Dekodér certifikátů X.509 Rozbor certifikátů X.509: subjekt, platnost, klíč, alternativní názvy, rozšíření a otisky.
  • Porovnání XML Strukturní porovnání dvou XML dokumentů s cestou ke každé změně.
  • Porovnání JSON Sémantické porovnání dvou JSON dokumentů bez ohledu na pořadí klíčů.
  • IP a CIDR kalkulačka Rozbor IPv4 a IPv6 adres a sítí: maska, rozsah hostitelů, broadcast, typ adresy a kontrola příslušnosti.
  • Rozbor řetězce User-Agent Rozpoznání prohlížeče, jádra, operačního systému a zařízení z řetězce User-Agent.
  • Rozbor e-mailových hlaviček Rozbor hlaviček e-mailu: odesílatel, předmět, datum, cesta zprávy přes servery (Received) a všechny hlavičky.
  • ASN.1 / DER dekodér Výpis struktury ASN.1 DER z PEM, Base64 nebo Hex: typy, OID se jmény, vnořené struktury (certifikáty, klíče).
  • Kontrast barev podle WCAG Kontrastní poměr textu a pozadí podle WCAG 2.2 (AA, AAA) a APCA pro barvy v libovolném CSS zápisu, s náhledem a návrhem vyhovující barvy.
  • Kalkulačka specificity CSS Výpočet specificity CSS selektorů včetně :is(), :not(), :has() a :where(), barevný rozbor a seřazení podle síly.
  • Kódy kláves v JavaScriptu Stiskni klávesu a uvidíš event.key, event.code, keyCode a location, s ukázkou obsluhy a tabulkou kódů kláves.
  • Porovnání hodnot v JavaScriptu (== a ===) Tabulka, které hodnoty se v JavaScriptu rovnají podle ==, === a Object.is(), s vysvětlením převodu typů krok po kroku.
  • Responzivní logo Jak udělat logo, které se na užší obrazovce zjednoduší: živá ukázka, postup a hotový kód s container query, <picture> nebo SVG spritem.