Deweloperskie

Parser Wyrażeń Cron

Wklej dowolne 5-polowe wyrażenie cron i natychmiast zobacz, co oznacza w prostym języku — koniec z wpatrywaniem się w gwiazdki i ukośniki, by zrozumieć, kiedy zadanie się uruchamia.

Czy to narzędzie Ci pomogło?

Czym jest Parser Wyrażeń Cron?

Cron to standardowa składnia planowania używana przez zadania cron w Unix/Linux, potoki CI/CD, CronJoby Kubernetes i niezliczone inne harmonogramy zadań. Wyrażenie cron pakuje cały powtarzający się harmonogram w pięć zwięzłych pól, co jest potężne, ale notorycznie trudne do odczytania na pierwszy rzut oka — czy "0 */4 * * 1-5" oznacza co 4 godziny w dni robocze, czy coś zupełnie innego? Ten parser rozkłada wyrażenie cron pole po polu i tłumaczy je na zdanie w prostym języku, dzięki czemu możesz sprawdzić, czy harmonogram jest poprawny przed jego wdrożeniem, lub szybko zrozumieć harmonogram napisany przez kogoś innego bez konieczności odwoływania się do tabeli składni cron.

Kiedy używać tego kalkulatora

  • Gdy weryfikujesz harmonogram cron przed wdrożeniem zaplanowanego zadania lub pipeline'u CI/CD
  • Gdy debugujesz, dlaczego zaplanowane zadanie uruchomiło się (lub nie) w nieoczekiwanym czasie
  • Gdy przeglądasz Kubernetes CronJob lub harmonogram GitHub Actions napisany przez kolegę
  • Gdy uczysz się składni cron na kursie certyfikacyjnym administracji systemowej lub DevOps
  • Gdy audytujesz istniejące wpisy crontab podczas migracji serwera
  • Gdy projektujesz złożony wzorzec planowania łączący wiele ograniczeń czasowych

Kroki:

  1. Wklej lub wpisz 5-polowe wyrażenie cron do pola wprowadzania.
  2. Zobacz każde pole rozłożone indywidualnie z jego znaczeniem.
  3. Przeczytaj tłumaczenie całego harmonogramu na prosty język.
  4. Wypróbuj przycisk ustawień wstępnych dla popularnych harmonogramów, takich jak "co godzinę" czy "dni robocze o 9:00".

Wzór

┌───────────── minuta (0-59) │ ┌───────────── godzina (0-23) │ │ ┌───────────── dzień miesiąca (1-31) │ │ │ ┌───────────── miesiąc (1-12) │ │ │ │ ┌───────────── dzień tygodnia (0-6, niedziela=0) │ │ │ │ │ * * * * *

Przypadki użycia

  • Weryfikacja harmonogramu cron przed wdrożeniem zaplanowanego zadania lub potoku CI/CD
  • Zrozumienie CronJob Kubernetes lub bezserwerowej funkcji zaplanowanej napisanej przez współpracownika
  • Debugowanie, dlaczego zaplanowane zadanie uruchomiło się (lub nie) w nieoczekiwanym momencie
  • Nauka składni cron na kursie administracji systemami lub DevOps
  • Audyt istniejących wpisów crontab podczas migracji serwera

Kluczowe korzyści

  • Natychmiast tłumaczy tajemniczą składnię cron na prosty język
  • Rozkłada każde z 5 pól indywidualnie dla przejrzystości
  • Ustawienia wstępne jednym kliknięciem dla najpopularniejszych wzorców planowania
  • Bez rejestracji, działa całkowicie w Twojej przeglądarce

Wskazówki

  • W razie wątpliwości najpierw przetestuj z bardzo bliskim momentem w przyszłości, aby potwierdzić, że harmonogram uruchamia się zgodnie z oczekiwaniami
  • Używaj zakresów (1-5) zamiast wymieniania każdej wartości przecinkami, kiedy to możliwe, dla czytelności
  • Sprawdź ponownie ustawienie strefy czasowej serwera lub harmonogramu — to najczęstsza przyczyna błędów cron związanych z "złym czasem"
  • Dla wszystkiego bardziej złożonego niż prosty harmonogram dzienny/tygodniowy, zapisz opis w prostym języku i porównaj go ze swoim zamiarem przed wdrożeniem

Częste błędy

  • Zapominanie, że dzień miesiąca i dzień tygodnia są łączone przez OR, a nie AND
  • Mylenie indeksowanego od 0 dnia tygodnia (0=niedziela) z konwencjami indeksowanymi od 1 z innych systemów
  • Zakładanie, że */7 w polu dnia miesiąca oznacza "co 7 dni" — w rzeczywistości oznacza dni 1, 8, 15, 22, 29, zaczynając od nowa każdego miesiąca
  • Zapominanie, że większość implementacji cron działa w lokalnej strefie czasowej serwera, a nie w UTC czy strefie czasowej użytkownika

Kluczowe pojęcia

Cron: Harmonogram zadań oparty na czasie, używany w systemach operacyjnych typu Unix
Crontab: Plik lub polecenie używane do definiowania listy zadań cron
Wartość kroku: Składnia "/N" oznaczająca "co N jednostek", zaczynając od minimalnej wartości pola
CronJob: Natywny zasób Kubernetes do uruchamiania zadań zaplanowanych przez cron

Powiązane pojęcia

  • Kalkulator Różnicy Czasu: Oblicz czas trwania między dwoma datami i godzinami
  • Kalkulator Dni Do: Policz dni do konkretnej daty
  • Konwerter Znacznika Czasu Unix: Konwertuj między znacznikami czasu Unix a datami
  • Kalkulator Nakładania Stref Czasowych: Znajdź nakładanie się godzin pracy między strefami czasowymi
  • Format JSON: Formatuj i waliduj dane JSON

Przykład

Wyrażenie "0 9 * * 1-5" rozkłada się na: minuta=0, godzina=9, każdy dzień miesiąca, każdy miesiąc, poniedziałek do piątku — co oznacza "O 09:00, od poniedziałku do piątku."

Interpretacja wyników

Parser rozbija wyrażenie cron 5 pól na poszczególne komponenty i tłumaczy każde na prosty język. Pięć pól to: minuta (0–59), godzina (0–23), dzień miesiąca (1–31), miesiąc (1–12) i dzień tygodnia (0–6, gdzie 0 to niedziela). Zadanie uruchamia się, gdy WSZYSTKIE pięć pól pasuje do bieżącego czasu — to jest logika I między polami. Zwróć szczególną uwagę na interakcję między dniem miesiąca a dniem tygodnia, która używa logiki LUB (nie I). Zadanie zaplanowane z dniem 15 I dniem tygodnia 5 uruchomi się 15. każdego miesiąca ORAZ w każdy piątek — nie tylko w piątki, które wypadają 15. dnia.

Najczęściej Zadawane Pytania

Jakie są 5 pól w wyrażeniu cron?
W kolejności: minuta (0-59), godzina (0-23), dzień miesiąca (1-31), miesiąc (1-12) oraz dzień tygodnia (0-6, gdzie 0 to niedziela). Zadanie uruchamia się, gdy wszystkie pięć pól odpowiada bieżącemu czasowi.
Co oznacza gwiazdka (*) w składni cron?
Gwiazdka oznacza "każda wartość jest dozwolona" dla danego pola. Na przykład * w polu godziny oznacza, że zadanie może uruchomić się o dowolnej godzinie, czyli to pole nie ogranicza harmonogramu.
Co oznacza */5?
Ukośnik oznacza wartość kroku. */5 w polu minut oznacza "co 5 minut" — zaczynając od minimalnej wartości pola i powtarzając się co 5 jednostek.
Jak zaplanować zadanie tylko na dni robocze?
Użyj zakresu w polu dzień tygodnia: 1-5 reprezentuje poniedziałek do piątku. W połączeniu z konkretną godziną i minutą, np. "0 9 * * 1-5" uruchamia się o 9:00 w każdy dzień roboczy.
Co oznacza przecinek w składni cron?
Przecinek oddziela wiele wartości w jednym polu. Na przykład, 0,15,30,45 w polu minuty oznacza, że zadanie uruchamia się o minutach 0, 15, 30 i 45. Przecinek to proste LUB: zadanie uruchamia się w jednej z wymienionych wartości.
Co to jest myślnik (zakres) w składni cron?
Myślnik definiuje zakres wartości. Na przykład, 1-5 w polu dnia tygodnia oznacza od poniedziałku do piątku (dni 1 do 5). Zakresy obejmują oba końce. Możesz łączyć zakresy z inną składnią: 1-5,0 oznacza od poniedziałku do piątku plus niedziela.
Jak zaplanować zadanie, aby uruchamiało się co 2 tygodnie?
Standardowy cron nie obsługuje natywnie planowania co dwa tygodnie. Masz dwie opcje: (1) Użyj skryptu pomocniczego, który sprawdza datę i uruchamia się tylko co dwa tygodnie, lub (2) Użyj planisty zadań, który obsługuje bardziej złożone wyrażenia, takie jak AWS EventBridge lub timery systemowe z wyzwalaczami kalendarzowymi.
Jaką strefę czasową używa cron?
Standardowy cron używa lokalnej strefy czasowej serwera. Jeśli Twój serwer jest skonfigurowany dla UTC, wszystkie zadania cron uruchamiają się w UTC niezależnie od Twojej lokalnej strefy czasowej. Zawsze sprawdzaj ustawienie strefy czasowej serwera, zwłaszcza w środowiskach chmurowych.
Jaka jest różnica między cron a crontab?
Cron to demon (usługa w tle), który uruchamia zaplanowane zadania. Crontab to plik konfiguracji (lub polecenie), który definiuje listę zadań cron. Edytując crontab, piszesz definicje harmonogramu, które demon cron odczytuje i wykonuje.
Jak obsłużyć czas letni z cron?
Większość implementacji cron nie automatycznie dostosowuje się do czasu letniego. Gdy zegary przesuwają się do przodu, zadanie zaplanowane na 2:00 może zostać całkowicie pominięte. Gdy zegary przesuwają się do tyłu, zadanie może uruchomić się dwukrotnie. Aby uniknąć problemów, planuj zadania poza godzinami przejścia (2:00–3:00) lub używaj planowania opartego na UTC.
Czy mogę używać cron do interwałów krótszych niż minuta?
Standardowy cron ma precyzję minutową i nie może planować zadania częściej niż raz na minutę. Do interwałów krótszych niż minuta używaj alternatyw, takich jak timery systemd, Kubernetes CronJobs z krótszymi interwałami lub planisty na poziomie aplikacji (node-cron z obsługą milisekund).

Odkryj więcej narzędzi

Świeży wybór z całej naszej biblioteki narzędzi.