Summary
Ten generator wyrażeń cron przekształca opis harmonogramu lub wklejony ciąg cron w zweryfikowane wyrażenie 5-polowe: minuty, godziny, dzień miesiąca, miesiąc i dzień tygodnia. Wybierz powszechny preset, taki jak co 5 minut lub w dni robocze o 9 rano, lub edytuj bezpośrednio każde pole ze wsparciem dla zakresów, list i wartości kroków. Narzędzie generuje uproszczony opis harmonogramu i oblicza kolejnych pięć czasów uruchamiania w UTC, używając tej samej logiki OR dla pól dnia miesiąca i dnia tygodnia, co vixie-cron i Kubernetes CronJob, zatem widoczne tutaj harmonogramy dokładnie odpowiadają rzeczywistym uruchomieniom w produkcji.
Generator wyrażeń cron do zaplanowanych zadań i okien wdrażania
Utwórz wyrażenie cron 5-polowe na podstawie presetów lub wklej je, aby sprawdzić. Uzyskaj uproszczony opis i kolejnych pięć czasów uruchamiania przed uruchomieniem harmonogramu.
Jak działa ten generator wyrażeń cron
Pięć pól, standardowa składnia
Minuty, godziny, dzień miesiąca, miesiąc i dzień tygodnia: te same pola, które odczytuje crontab, harmonogram GitHub Actions i Kubernetes CronJob. Zakresy (9-17), listy (1,15,30), kroki (*/5) i symbole wieloznaczne analizują się w taki sam sposób jak w produkcji.
Pola dnia są połączone OR, a nie AND
Ustaw dzień miesiąca na 1 i dzień tygodnia na poniedziałek, a zadanie będzie uruchamiane pierwszego dnia miesiąca lub w każdy poniedziałek, a nie tylko wtedy, gdy oba się zgadzają. Tak właśnie vixie-cron i Kubernetes CronJob to oceniają, i to jest szczegół, który pomijają większość generatorów.
Kolejne pięć uruchomień, obliczane na bieżąco
Każda edycja ponownie oblicza pięć znaczników czasu UTC, przesuwając się w przód przez rzeczywisty kalendarz, dzięki czemu harmonogram, który nigdy nie może się uruchomić, taki jak dzień 30 lutego, pojawia się tutaj jako pusty zamiast po cichu leżeć martwy w crontab.
Wklej, aby sprawdzić, nie tylko do budowania
Już masz ciąg cron od kolegi z zespołu, manifestu CronJob lub starej odpowiedzi na Stack Overflow? Wklej go do pola i uzyskaj ten sam opis i czasy uruchamiania, bez potrzeby oddzielnego walidatora.
Od pustych pól do harmonogramu, któremu ufasz
-
1
Zacznij od presetów
Wybierz wspólny harmonogram (co 5 minut, w dni robocze o 9 rano, miesięcznie pierwszego dnia), lub pozostaw ustawienia domyślne i dostosuj je.
-
2
Dostosuj pola, które mają znaczenie
Używaj szybkich list rozwijanych lub wpisuj bezpośrednio: listy rozdzielone przecinkami, myślniki dla zakresów i */N dla kroków działają w każdym polu.
-
3
Potwierdź przed wdrożeniem
Przeczytaj uproszczony opis i sprawdź kolejnych pięć czasów uruchamiania względem okna konserwacji lub budżetu SLO, następnie skopiuj wyrażenie do pliku crontab, harmonogramu CI lub manifestu CronJob.
Dlaczego pola dnia miesiąca i dnia tygodnia używają logiki OR
POSIX/vixie-cron, implementacja leżąca u podstaw systemu Linux crontab i Kubernetes CronJob, ma dziwną regułę, którą większość ludzi nigdy nie przechodzi. Jeśli oba pola dnia miesiąca i dnia tygodnia są ograniczone z dala od *, zadanie uruchamia się, gdy jedno z nich się zgadza, a nie tylko wtedy, gdy oba się zgadzają. Ustaw dzień miesiąca na 1 i dzień tygodnia na poniedziałek, a harmonogram będzie uruchamiany pierwszego dnia miesiąca i w każdy poniedziałek, a nie tylko w poniedziałek, który zdarza się być pierwszym. Pozostaw którekolwiek z pól jako *, a tylko ograniczone pole będzie ograniczać dzień. Ten generator podąża za tą konwencją, ponieważ to jest to, co faktycznie uruchamia twój crontab, a nie uproszczoną wersję. To ma znaczenie przede wszystkim dla rodzaju harmonogramu, który zespół platformy pisze o 23:00: uruchom to pierwszego dnia roboczego lub pierwszego dnia miesiąca, w zależności od tego, co nastąpi wcześniej, wygląda na AND dla większości ludzi i zachowuje się jak OR w produkcji.
- POSIX/vixie-cron (Linux crontab, Kubernetes CronJob): OR po ograniczeniu któregokolwiek pola dnia
- Quartz cron (powszechne w harmonogramach opartych na Javie): zwykle wymaga, aby jedno z dwóch pól dnia pozostało ? zamiast *, całkowicie unikając niejasności
- Ten generator podąża za konwencją POSIX/vixie-cron, ponieważ to właśnie crontab i CronJob faktycznie wykonują
Częste pytania
Czy ten generator wyrażeń cron jest bezpłatny?
W jakiej strefie czasowej wyświetlane są kolejne czasy uruchamiania?
Dlaczego dzień miesiąca 1 i dzień tygodnia poniedziałek uruchamiają się na obu, a nie tylko gdy się pokrywają?
Czy obsługuje @daily, @reboot lub inne makra skrótów?
Czy mój harmonogram jest wysyłany na serwer?
Czy obliczanie następnego uruchomienia uwzględnia czas letni?
Czy mogę wpisać nazwy miesięcy lub dni tygodnia zamiast liczb?
Zadanie cron uruchamia się. Co kontroluje wdrażanie, które ono wyzwala?
upstreamapi wiąże wdrażania flag funkcji z budżetem SLO, dzięki czemu wdrażanie wyzwolone przez cron może się automatycznie wycofać zanim pager zaalarmuje, a nie po.