Kluczowe punkty
- 01Wyjaśnienia w zwykłym języku ułatwiają potwierdzenie, co zadanie cron faktycznie zrobi, zanim je wdrożysz.
- 02Następne 5 czasów uruchomienia w UTC jest wymienionych w formacie ISO-8601 dla walidacji bezpiecznej dla stref czasowych.
- 03Obsługuje zakresy (1-5), listy (1,3,5) i kroki (*/15) zgodnie ze standardowymi regułami Vixie-cron.
- 04Wszystko działa w Twojej przeglądarce — brak backendu, brak konta, brak żądania sieciowego.
Dlaczego wyrażenia Cron łatwo się pomylić
Składnia cron jest zwarta z założenia, ale ta zwartość sprawia, że zaskakująco łatwo zaplanować zadanie na złą godzinę. Kopia zapasowa o północy, która uruchamia się w południe w UTC, wyrażenie kroku, które pomija oczekiwane czasy, lub wartość dnia tygodnia przesunięta o jeden — te błędy są trudne do wychwycenia, dopóki zadanie po cichu się nie uruchomi. Czytanie na głos 0 */6 * * 1-5 nie mówi Ci wiele, chyba że znasz kolejność pól na pamięć.
Konstruktor cron Handytool rozwiązuje ten problem, tłumacząc każde prawidłowe wyrażenie na zdanie, które możesz faktycznie przeczytać, a następnie pokazując następne pięć czasów, w których by się uruchomiło w UTC. Wyłap błąd, zanim trafi do produkcji, a nie po tym, jak zaplanowane zadanie nie uruchomi się w poniedziałek rano.
Jak budować i walidować wyrażenie Cron
- 01
Zacznij od predefiniowanego wariantu lub wpisz własny
Predefiniowane warianty takie jak Co minutę, Co godzinę, Codziennie o północy i Co tydzień w poniedziałek dają Ci prawidłowy punkt wyjścia. Przełącz się na ręczne wprowadzanie dla niestandardowych harmonogramów.
- 02
Wpisz swoje 5 pól
Wpisz wyrażenie w kolejności: minuta godzina dzień-miesiąca miesiąc dzień-tygodnia. Konstruktor waliduje granice każdego pola podczas wpisywania.
- 03
Przeczytaj opis w zwykłym języku
Wyjaśnienie aktualizuje się na żywo. Potwierdź, że zdanie odpowiada Twojemu zamiarowi — na przykład 'o :00 co 6 godzin, od poniedziałku do piątku'.
- 04
Sprawdź następne 5 czasów uruchomienia
Nadchodzące czasy uruchomienia są wymienione w UTC ISO-8601. Użyj ich do weryfikacji przypadków brzegowych, takich jak granice końca miesiąca lub przesunięcia stref czasowych.
Szybki przewodnik składni Cron
Wszystkie pięć pól podlega tym regułom:
- 01Gwiazdka (*) oznacza każdą prawidłową wartość w polu
- 02Ukośnik (*/N) przechodzi przez zakres w przyrostach N
- 03Myślnik (A-B) dopasowuje każdą wartość od A do B włącznie
- 04Przecinek (A,B,C) dopasowuje określoną listę wartości
- 05Zakresy pól: minuta 0-59, godzina 0-23, dzień 1-31, miesiąc 1-12, dzień tygodnia 0-6 (niedziela=0)
Bez instalacji, bez serwera
Konstruktor cron analizuje wyrażenia i oblicza następne czasy uruchomienia całkowicie w Twojej przeglądarce przy użyciu JavaScript. Nic nie jest wysyłane na serwer, więc nie ma rejestracji, brak limitu API i brak opóźnienia. Obliczanie następnych uruchomień symuluje dopasowania minuta po minucie względem standardowych reguł Vixie-cron, co jest tym samym podejściem używanym przez większość harmonogramów produkcyjnych.
Wyrażenia 6-polowe (z wiodącym polem sekund) i specjalne ciągi takie jak @daily lub @weekly nie są obsługiwane. Większość środowisk produkcyjnych — w tym sam cron, Kubernetes i GitHub Actions — używa standardowej formy 5-polowej, więc konstruktor skupia się na tym.
Często zadawane pytania dotyczące konstruktora wyrażeń Cron
Jaki wariant cron obsługuje ten konstruktor?
Standardowy 5-polowy Vixie-cron: minuta, godzina, dzień-miesiąca, miesiąc, dzień-tygodnia. Skrót @daily/@weekly i składnia 6-polowa sekund nie są obsługiwane, ponieważ większość harmonogramów produkcyjnych używa formy 5-polowej.
Dlaczego następne czasy uruchomienia są pokazane w UTC?
Większość systemów CI/CD i harmonogramów chmurowych interpretuje wyrażenia cron w UTC. Pokazanie UTC utrzymuje podgląd przenośnym i unika mylących wyświetlaczy czasu lokalnego.
Jaka jest różnica między */15 a 0,15,30,45 w polu minuty?
Oba uruchamiają się co 15 minut. */15 zaczyna się od 0 i przechodzi o 15, co jest równoważne 0,15,30,45. Dla pola godziny */6 oznacza 0,6,12,18.
Czy mogę zaplanować zadanie na ostatni dzień miesiąca?
Standardowy cron nie ma tokenu 'ostatni dzień'. Możesz przybliżyć z 28-31 w polu dnia, ale aby czysto obsługiwać miesiące krótsze niż 31 dni, sprawdź datę wewnątrz skryptu zadania.
Czy istnieje sposób na uruchomienie zadania co dzień roboczego o 9 rano?
Tak: 0 9 * * 1-5 uruchamia się o 09:00 UTC od poniedziałku do piątku. Zweryfikuj to w zwykłojęzycznym wyjściu konstruktora i liście następnych uruchomień przed wdrożeniem.