Kalkulator Cron

Wklej wyrażenie cron. */5 * * * * daje 288. 0 9 * * * daje 1. 0 9 * * 1-5 daje 1. To odczyt 5 pól, nie live scheduler.

To dekodowanie wyrażenia 5-polowego, nie daemon cron i nie Quartz. Czas w innej strefie jest na konwerterze stref.

Dane

Szybkie wzorce:

Presety tylko wypełniają pole — wynik po Oblicz. Pola: minuta (0-59) godzina (0-23) dzień-miesiąca (1-31) miesiąc (1-12) dzień-tygodnia (0-7, 0=niedziela).

Wynik

Wprowadź dane i kliknij Oblicz.

Jak to działa?

Kalkulator Cron na tej karcie czyta 5-polowe wyrażenie. */5 * * * * daje 288. 0 9 * * * daje 1. 0 9 * * 1-5 daje 1. Wynik karty to uruchomienia na dobę. Karta nie wstawia zadania do crontab i nie odpala crona.

Pole cron-expr to tekst. Pięć pól to minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia. */5 w minucie to co 5 minut, stąd 288 na 1440 minut. 0 9 * * * to raz o 9:00. 1-5 nie zmienia karty extras na tygodniowy sumator: per-day zostaje 1.

288 nie jest logiem z /var/log/cron. 1 nie schodzi z systemd timer. Karta nie zna strefy serwera. Wpisujesz wyrażenie sam. Nie ma tu 6 ani 7 pól Quartz.

Znacznik czasu Unix obok zamienia epoch. Konwerter stref liczy inną godzinę. Tu */5 * * * * zostaje 288, sam odczyt pól.

Wpisz */5 * * * *, potem Oblicz. Wynik to 288. Zamień na 0 9 * * *. Puste pole nie daje liczby. To nie crontab -e.

*/5 * * * * daje 288. 0 9 * * * daje 1. 0 9 * * 1-5 daje 1. Inne wyrażenie zmienia 288.

Wzór

uruchomienia / dobę = dopasowania w 1440 minutach z 5 pól. Nie Quartz i nie live cron.

Jak korzystać

  1. Wpisz wyrażenie */5 * * * * w polu.
  2. Kliknij Oblicz. Wynik to 288.
  3. 0 9 * * * daje 1. 0 9 * * 1-5 daje 1.
  4. To dekodowanie 5 pól, nie live scheduler.
  5. Strefę godziny licz na konwerterze stref.

*/5 * * * * daje 288

Odczyt 5 pól. */5 * * * * daje 288. To nie live scheduler.

Cron
Wyrażenie 5 pól. */5 * * * * zostawia 288. Nie daemon.
wyrażenie
Tekst w cron-expr. 0 9 * * * daje 1. Nie Quartz.
uruchomienia
Wynik na dobę. 0 9 * * 1-5 daje 1. Nie live cron.

Przykłady

Przykład 1

  • */5 * * * *

288

Ile uruchomień na dobę przy */5 * * * *? 288. Dekoduje wyrażenie, nie live cron.

Przykład 2

  • 0 9 * * *

1

Ile przy 0 9 * * *? 1. Raz o 9:00, nie daemon.

Przykład 3

  • 0 9 * * 1-5

1

Ile przy 0 9 * * 1-5? 1. Per-day, nie suma tygodnia.

Powiązane kalkulatory

Najczęstsze pytania

Ile przy */5 * * * *?

288. Co 5 minut w 1440 minutach. Odczyt pól, nie live cron.

Ile przy 0 9 * * *?

1. Jedno uruchomienie na dobę o 9:00.

Ile przy 0 9 * * 1-5?

1. Karta extras trzyma per-day, nie sumę pon-pt.

Czy to odpala cron na serwerze?

Nie. Nie ma crontab -e i nie ma daemona. Same 5 pól.

Czy Quartz 6 pól działa?

Nie. Karta czyta 5 pól. Sekundy Quartz tu nie schodzą.

Czy 288 to log z /var/log/cron?

Nie. To liczba dopasowań z wyrażenia, które wpisujesz.

Czy puste pole liczy?

Nie. Bez wyrażenia nie ma liczby uruchomień.

Gdzie liczysz inną strefę?

Na konwerterze stref. Tu zostaje 288 z */5 * * * *.

Czy * * * * * daje 1440?

Tak, co minutę. Przykłady trzymają */5, 0 9 i 1-5.

Znaczenie 5 pól

PoleZakresZnaczenie
Minuta0-59W której minucie godziny uruchomić zadanie.
Godzina0-23W której godzinie doby (czas 24h).
Dzień miesiąca1-31Konkretny dzień w miesiącu.
Miesiąc1-12Konkretny miesiąc roku.
Dzień tygodnia0-7 (0 i 7 = niedziela)Konkretny dzień tygodnia.

Jeśli oba pola dzień-miesiąca i dzień-tygodnia są ograniczone (nie *), zadanie uruchamia się, gdy zgadza się jedno LUB drugie — to częsta pułapka w standardzie cron POSIX.

5 pól vs 6 pól (sekundy)

Ten kalkulator obsługuje klasyczny 5-polowy cron: minuta godzina dzień-miesiąca miesiąc dzień-tygodnia (np. 0 5 * * *). Niektóre systemy (Quartz, Spring, część paneli CI) używają 6 pól z sekundami na początku (sekunda minuta godzina …). Wklejenie 6 pól zakończy się błędem walidacji — usuń pierwsze pole (sekundy) albo przepisz wyrażenie do formatu 5-polowego.

Typowe wzorce

  • */5 * * * * — co 5 minut, całą dobę.
  • 0 * * * * — co godzinę, w pełnej godzinie.
  • 0 5 * * * — codziennie o 5:00 (backupy nocne).
  • 0 9 * * 1-5 — w dni robocze o 9:00 (raporty, powiadomienia biznesowe).
  • 0 0 1 * * — pierwszego dnia każdego miesiąca o północy (rozliczenia miesięczne).

Ryzyko nakładających się zadań

Jeśli zadanie trwa dłużej niż interwał harmonogramu (np. */5, a zadanie trwa 8 minut), kolejne uruchomienie startuje, zanim poprzednie się skończy. Bez blokady (lock file, distributed lock, flock) to prowadzi do równoległych kopii tego samego zadania, wyścigów i podwójnego przetwarzania danych.

Strefa czasowa: Linux crontab vs Kubernetes CronJob

  • Klasyczny Linux crontab domyślnie liczy czas w strefie systemowej (/etc/timezone), choć zmienną CRON_TZ można ustawić per-linia w niektórych implementacjach (np. Vixie cron).
  • Kubernetes CronJob historycznie liczył czas w UTC niezależnie od strefy node'a; od Kubernetes 1.24+ pole .spec.timeZone pozwala ustawić strefę IANA wprost w manifeście.
  • Przy migracji między środowiskami zawsze sprawdź efektywną strefę — ten sam wzorzec cron da inny czas "po ludzku" w UTC i w Europe/Warsaw.

Przykłady

  • */15 9-17 * * 1-5 — co 15 minut, ale tylko 9-17 w dni robocze (monitoring w godzinach pracy).
  • 0 0 * * 0 — co niedzielę o północy (cotygodniowe zadanie porządkowe).
  • 30 2 1,15 * * — 1. i 15. dnia miesiąca o 2:30 (rozliczenia dwutygodniowe).

FAQ — harmonogramy cron

Dlaczego "0 0 * * 1,15" i "0 0 1,15 * *" to nie to samo?
Pierwsze ustawia dzień-tygodnia (1=poniedziałek, 15 jest poza zakresem 0-7 i jest błędne), drugie ustawia dzień-miesiąca (1. i 15. dnia). Kolejność pól ma znaczenie.
Co się stanie, gdy dzień-miesiąca i dzień-tygodnia są oba ustawione?
Standard POSIX cron traktuje to jako logiczne LUB — zadanie uruchomi się, gdy zgadza się dowolne z nich, nie oba naraz.
Jak zapisać "co 10 minut"?
*/10 * * * * — działa dla podzielników 60 (2, 3, 4, 5, 6, 10, 12, 15, 20, 30).
Czy mogę użyć nazw miesięcy/dni (JAN, MON)?
Wiele implementacji cron to wspiera (np. MON-FRI), ale nie wszystkie — ten kalkulator oczekuje liczb dla przewidywalności.
Dlaczego liczba uruchomień w tygodniu nie jest wielokrotnością liczby dziennej?
Gdy wzorzec zależy od konkretnych dni tygodnia lub miesiąca (np. tylko dni robocze), liczba uruchomień różni się między dniami — 7×dzienna nie zawsze się zgadza.
Co jeśli mój wzorzec nie ma żadnego uruchomienia w najbliższych ~139 dniach?
To sygnał, że wyrażenie prawdopodobnie jest błędne (np. niemożliwa kombinacja dnia i miesiąca) — sprawdź każde pole osobno.
Jak uniknąć nakładających się uruchomień?
Użyj blokady (lock file, flock, distributed lock w Redis/DB) na początku zadania i zakończ natychmiast, jeśli poprzednia instancja wciąż działa.
Czy ten kalkulator obsługuje sześciopolowe wyrażenia cron z sekundami?
Nie. Oczekuje 5 pól (bez sekund). Jeśli masz format Quartz/Spring z sekundami na początku, usuń pierwsze pole albo przelicz wyrażenie do klasycznego crontab.
Czy presety od razu uruchamiają obliczenia?
Nie — presety tylko wypełniają pole wyrażenia. Kliknij Oblicz, aby zobaczyć wynik.