Generator wyrażeń cron

Napisz harmonogram cron i zobacz dokładnie, kiedy się uruchomi.

0-59
0-23
1-31
1-12 albo JAN-DEC
0-6 albo SUN-SAT (7 to też niedziela)
At 09:00 AM, Monday through Friday

Najbliższe 10 uruchomień

    Ściąga ze składni cron
    PoleDozwolone wartości
    Minuta0-59
    Godzina0-23
    Dzień miesiąca1-31
    Miesiąc1-12 albo JAN-DEC
    Dzień tygodnia0-6 albo SUN-SAT (7 to też niedziela)
    SymbolZnaczenie
    *Każda wartość
    ,Lista wartości, na przykład 1,15
    -Zakres, na przykład 1-5
    /Krok, na przykład */15 dla co 15. wartości

    Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

    Jak napisać wyrażenie cron

    1. Wybierz gotowe ustawienie, albo wpisz wyrażenie z pięcioma polami.
    2. Dostrój pojedyncze pola w polach poniżej.
    3. Sprawdź wyjaśnienie i najbliższe uruchomienia, a potem skopiuj wyrażenie.

    Popularne harmonogramy cron

    HarmonogramWyrażenieZnaczenie
    Co minutę* * * * *Uruchamia się 60 razy na godzinę
    Co 5 minut*/5 * * * *O :00, :05, :10 i tak dalej
    Co noc o 2:000 2 * * *Raz na 24 godziny
    W dni robocze o 9:000 9 * * 1-5Tylko od poniedziałku do piątku
    Pierwszy dzień miesiąca0 0 1 * *O północy 1. dnia
    Co 6 godzin0 */6 * * *O północy, 6:00, w południe, 18:00

    Czym różni się cron w różnych systemach

    Format z 5 polami poniżej to ten, który buduje ten generator, i to właśnie z niego bezpośrednio korzysta większość harmonogramów zadań.

    SystemPolaUwaga
    Standardowy cron / crontab5Minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia
    Kubernetes CronJob5Ten sam format, zapisany jako ciąg znaków w YAML
    GitHub Actions5Ustawiane pod on.schedule.cron, zawsze działa w UTC
    Quartz (Java)6 albo 7Dodaje pole sekund przed minutą
    AWS EventBridge6Dodaje pole roku i używa ? dla dnia miesiąca albo dnia tygodnia

    Skopiuj stąd wyrażenie do harmonogramu Quartz albo AWS i dodaj dodatkowe pole, którego oczekuje; pozycje minuty, godziny, dnia, miesiąca i dnia tygodnia zostają takie same.

    Wskazówki do pisania harmonogramów cron

    • Wybieraj krok zamiast długiej listy: */15 * * * * jest krótsze i czytelniejsze niż 0,15,30,45 * * * *.
    • Ustawienie jednocześnie dnia miesiąca i dnia tygodnia ogranicza mniej, niż mogłoby się wydawać: standardowy cron uruchamia zadanie, gdy pasuje którykolwiek warunek, a nie dopiero gdy pasują oba.
    • Przetestuj harmonogram tutaj, zanim wkleisz go na serwer. Jedno błędne pole może zmienić codzienne zadanie w takie, które uruchamia się co minutę.
    • Serwery zwykle uruchamiają cron w UTC. Lista najbliższych uruchomień powyżej pokazana jest w twojej strefie czasowej, więc przelicz ją, zanim założysz, że zadanie uruchomiło się na czas.

    Generator wyrażeń cron: najczęstsze pytania

    Co oznacza pięć pól w wyrażeniu cron?

    Od lewej do prawej: minuta (0-59), godzina (0-23), dzień miesiąca (1-31), miesiąc (1-12) i dzień tygodnia (0-6, gdzie 0 to niedziela). Gwiazdka oznacza każdą wartość, więc * * * * * uruchamia się co minutę.

    Jak uruchamiać zadanie cron co 5 minut?

    Użyj */5 * * * *. /5 oznacza co piątą wartość, więc zadanie uruchamia się w minutach 0, 5, 10 i tak dalej, w każdej godzinie każdego dnia.

    Co się dzieje, gdy ustawię jednocześnie dzień miesiąca i dzień tygodnia?

    Standardowy cron uruchamia zadanie, gdy pasuje którykolwiek z warunków. 0 0 1 * 1 uruchamia się o północy 1. dnia każdego miesiąca, a także w każdy poniedziałek.

    Z jakiej strefy czasowej korzysta cron?

    Ze strefy czasowej serwera, na którym działa, a to często UTC. Godziny uruchomień na tej stronie podane są w twojej strefie czasowej, więc przelicz je, jeśli twój serwer ma ustawioną inną.

    Czy ten format działa dla Kubernetes, GitHub Actions, Quartz albo AWS?

    CronJoby Kubernetes i harmonogramy GitHub Actions używają tego samego formatu z 5 polami. Quartz dodaje pole sekund, a AWS EventBridge dodaje pole roku i używa ? w jednym z pól dnia, więc te trzeba dostosować.

    Jak uruchamiać zadanie tylko w dni robocze albo tylko w weekend?

    Ustaw dzień tygodnia na 1-5 dla dni od poniedziałku do piątku, albo 0,6 dla soboty i niedzieli. Zostaw dzień miesiąca i miesiąc jako *, żeby niczego dodatkowo nie ograniczały.

    Co oznaczają skróty takie jak @daily i @hourly?

    To makra, które niektóre implementacje cron akceptują zamiast pięciu pól. @hourly to 0 * * * *, @daily to 0 0 * * *, @weekly to 0 0 * * 0, @monthly to 0 0 1 * *, a @yearly to 0 0 1 1 *. Wpisz dowolne z nich w pole wyrażenia, a rozwinie się automatycznie.

    Podobne narzędzia