Darmowy konwerter

Wyrażenie Crona Generatora

Generuj, wyjaśniaj i sprawdzaj wyrażenia cron natychmiast w przeglądarce. Kreator wizualizacji i analizator wyrażeń — bezpłatny, prywatny i po stronie klienta.

Wyrażenie Crona
0 */6 * * *
Opis czytelny dla człowieka
Every minute
Następne 5 zaplanowanych uruchomień
Calculating...

O tym narzędziu

Wyrażenia Cron to pięć (lub sześć, w zależności od systemu) oddzielonych spacjami pól opisujących harmonogram: minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia. Każde pole akceptuje wartości liczbowe, zakresy, listy, przyrosty i symbole wieloznaczne. Cron jest de facto formatem planowania uniksowym od końca lat 70. XX wieku i jest obecnie używany daleko poza Uniksem — w Kubernetes CronJobs, GitHub Actions, regułach AWS EventBridge, zadaniach Jenkinsa i prawie każdym innym systemie planowania w środowisku produkcyjnym.

Ręczne odczytywanie i zapisywanie wyrażeń cron jest podatne na błędy. Pola są pozycyjne, interakcja między dniem miesiąca i dniem tygodnia nie jest oczywista (wartość w którymkolwiek z pól uruchamia zadanie, a nie w obu), a błędy dyskretnie tworzą harmonogramy, które wyglądają dobrze, ale uruchamiają się w niewłaściwym czasie. Generator, który tłumaczy proste angielskie harmonogramy na poprawną składnię cron, pozwala uniknąć tych błędów.

Narzędzie to oferuje dwa kierunki: zbudowanie wyrażenia cron z przyjaznego formularza (w każdy poniedziałek o 9:00, co 5 minut w godzinach pracy) oraz wyjaśnienie istniejącego wyrażenia cron w kategoriach ludzkich. Obydwa działają w przeglądarce bez interakcji z serwerem.

Dlaczego warto używać generatora Cron

Składnia Crona jest gęsta i bezlitosna. Typowe błędy obejmują mylącą numerację dni tygodnia (niedziela to 0 lub 7 w zależności od systemu), zapominanie, że dzień miesiąca i dzień tygodnia używają semantyki OR oraz niezrozumienie składni inkrementacji (*/5 oznacza co 5 zaczynając od 0). Generator wyłapuje je na podstawie konstrukcji — utworzone wyrażenia odpowiadają temu, co opisano w formularzu.

Czytanie istniejących wyrażeń jest równie trudne. Harmonogram taki jak 0 9 * * 1-5 brzmi jak każdy dzień powszedni o 9 rano, gdy znasz składnię, ale każdy, kto nie zna cron, musi sprawdzić każde pole. Wyjaśnienie wyrażenia w kategoriach ludzkich jest szybsze niż nauczenie się składni jednorazowych interakcji.

Jak używać

Wybierz wzorzec harmonogramu, uzyskaj wyrażenie cron.

  1. Wybierz tryb generowania: Zbuduj wyrażenie cron na podstawie danych wejściowych z formularza (częstotliwość, czas, dni) lub wyjaśnij istniejące wyrażenie w kategoriach ludzkich.
  2. Skonfiguruj harmonogram: Wybierz częstotliwość (co minutę, co godzinę, codziennie, co tydzień, co miesiąc, niestandardowa). W razie potrzeby określ godziny, dni i interwały. Formularz ogranicza dane wejściowe do prawidłowych kombinacji.
  3. Wygeneruj lub wyjaśnij: Generacja tworzy standardową składnię cron (5 pól). Wyjaśnienie dzieli każde pole i zawiera podsumowanie czytelne dla człowieka.
  4. Użyj w swoim harmonogramie: Wklej wygenerowane wyrażenie do specyfikacji Kubernetes CronJob, harmonogramu GitHub Actions, AWS EventBridge lub harmonogramu platformy.

Typowe przypadki użycia

Szczegóły techniczne

Standardowy cron ma pięć pól: minuta (0–59), godzina (0–23), dzień miesiąca (1–31), miesiąc (1–12), dzień tygodnia (0–6 lub 0–7, obie niedziele). Każde pole akceptuje pojedynczą wartość, listę oddzieloną przecinkami, zakres z łącznikiem, przyrost z / lub symbol wieloznaczny z *.

Dzień miesiąca i dzień tygodnia używają semantyki LUB: jeśli którakolwiek z nich jest ustawiona na wartość inną niż symbol wieloznaczny, zadanie zostanie uruchomione, gdy którykolwiek z nich będzie zgodny. Jest to sprzeczne z intuicją, ale pasuje do zachowania cron POSIX. Ustawienie obu pól daje szerszy harmonogram, a nie węższy.

Rozszerzenia różnią się w zależności od implementacji. Niektórzy akceptują szóste pole na sekundy (Kwarc, Sprężyna); niektórzy akceptują? jako alternatywa dla symboli wieloznacznych; niektóre obejmują skróty @roczne, @miesięczne, @codzienne. Generator generuje standardowy cron z 5 polami, odpowiedni dla większości systemów.

Najlepsze praktyki

Często zadawane pytania

Jaki jest format wyrażenia cron?
Standardowy cron wykorzystuje 5 pól: minuta (0-59), godzina (0-23), dzień miesiąca (1-31), miesiąc (1-12), dzień tygodnia (0-7, gdzie 0 i 7 to niedziela). Znaki specjalne: * (dowolny), , (lista), - (zakres), / (krok).
Jak ustawić uruchamianie zadania co 5 minut?
Użyj */5 w polu minut: '*/5 * * * *'. /5 oznacza „co piątą wartość”. Podobnie */15 = co 15 minut, */2 = co 2 minuty.
Jakiej strefy czasowej używa cron?
Cron zazwyczaj używa systemowej strefy czasowej. Na serwerach Linux jest to zwykle czas UTC, chyba że skonfigurowano inaczej. Usługi w chmurze (AWS, GCP) często domyślnie korzystają z czasu UTC. Zawsze sprawdzaj ustawienie strefy czasowej systemu.
Czy jest to ten sam format używany przez GitHub Actions?
GitHub Actions używa tego samego formatu 5 pól, ale działa w strefie czasowej UTC. AWS CloudWatch i Kubernetes CronJobs również korzystają z tego formatu. Niektóre systemy, takie jak Quartz, używają rozszerzonego formatu pól 6-7 z sekundami.
Jaka jest różnica między 0 w dniu tygodnia a 7?
Obydwa oznaczają niedzielę. Cron POSIX akceptuje wartości 0–6 lub 0–7. Użyj dowolnej preferowanej implementacji cron; większość akceptuje oba.
Czy wyjaśnienie jest dokładne w przypadku niestandardowego crona?
Celuje w standardowy cron z 5 polami. Rozszerzenia Quartz (z sekundami), warianty AWS EventBridge i inne dialekty mogą nie zostać poprawnie przeanalizowane. Potwierdź w dokumentacji systemu docelowego.
Czy moje wyrażenie jest wysyłane na serwer?
Nie. Generowanie i wyjaśnianie odbywa się w przeglądarce.
A co ze skrótami @rocznymi i @miesięcznymi?
Typowe implementacje cron obsługują @yearly, @monthly, @weekly, @daily, @hourly i @reboot jako skróty do typowych harmonogramów. Generator generuje standardowe wyrażenia z 5 polami; możesz ręcznie zastąpić skróty, jeśli Twój harmonogram je akceptuje.