Generator i objaśniacz wyrażeń cron

Zbuduj harmonogram crontab kilkoma kliknięciami lub wklej istniejący. Dostaniesz objaśnienie w zrozumiałym języku, walidację każdego pola i 10 kolejnych uruchomień w Twojej strefie czasowej.

Działa w przeglądarceBez rejestracjiNic nie jest wysyłane

minutagodzinadzień (miesiąca)miesiącdzień (tygodnia)

Kreator wizualny

Następne 10 uruchomień

    Jak używać: Generator wyrażeń cron

    1. Wpisz wyrażenie cron, np. */15 * * * *, lub kliknij gotowe ustawienie.
    2. Przeczytaj opis w zrozumiałym języku, aby upewnić się, że harmonogram robi to, czego oczekujesz. Nieprawidłowe pola są podświetlone wraz z przyczyną.
    3. Użyj kart Kreatora wizualnego, aby ustawić minutę, godzinę, dzień miesiąca, miesiąc i dzień tygodnia w trybie Każdy, Co N, Konkretne lub Zakres.
    4. Sprawdź 10 kolejnych uruchomień i wybierz strefę czasową serwera, jeśli różni się od Twojej.
    5. Skopiuj wyrażenie do crontaba, Kubernetes CronJob, sekcji schedule w GitHub Actions lub konfiguracji CI.

    Składnia cron w minutę

    Standardowe wyrażenie cron ma pięć pól oddzielonych spacjami:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    SymbolZnaczeniePrzykład
    *każda wartość* * * * * co minutę
    ,lista0 9,17 * * * o 09:00 i 17:00
    -zakres0 9 * * 1-5 w dni robocze o 09:00
    /krok*/10 * * * * co 10 minut
    @dailymakroto samo co 0 0 * * *; także @hourly, @weekly, @monthly, @yearly, @reboot

    Pułapka: dzień miesiąca / dzień tygodnia

    Gdy oba pola dni są ograniczone (żadne nie zaczyna się od *), cron uruchamia zadanie, gdy pasuje którekolwiek z nich. 0 0 13 * 5 uruchamia się więc każdego 13. dnia miesiąca oraz w każdy piątek, a nie tylko w piątek 13. Ten generator stosuje tę regułę Vixie cron, a opis zawiera „lub”, żebyś to zauważył.

    Strefy czasowe i czas letni

    Cron używa lokalnej strefy czasowej serwera, chyba że skonfigurowano inaczej (CRON_TZ= w niektórych implementacjach, timeZone w Kubernetes CronJob; GitHub Actions zawsze używa UTC). Wybierz tę strefę w podglądzie uruchomień. Zadania zaplanowane w luce przy zmianie czasu (np. 02:30 w noc przejścia na czas letni) są w podglądzie pomijane, bo taki czas lokalny nie występuje.

    Popularne harmonogramy

    • */5 * * * *: co 5 minut
    • 0 */2 * * *: co 2 godziny, o pełnej godzinie
    • 0 9 * * 1-5: o 09:00 w dni robocze
    • 0 0 1 * *: o północy pierwszego dnia każdego miesiąca
    • 0 3 * * 0: o 03:00 w każdą niedzielę, typowe okno na backup

    Najczęściej zadawane pytania

    Jak uruchomić zadanie cron co 5 minut?
    Użyj */5 * * * *. Krok /5 w polu minut oznacza co piątą minutę, zaczynając od 0: 00, 05, 10 i tak dalej.
    Czy cron obsługuje sekundy?
    Standardowy crontab nie; najmniejszą jednostką jest minuta. Quartz, Spring i niektóre harmonogramy chmurowe dodają pole sekund (6 lub 7 pól). To narzędzie waliduje standardowy format 5-polowy i informuje, gdy widzi 6 pól.
    Niedziela to 0 czy 7?
    Oba. W polu dnia tygodnia 0 i 7 oznaczają niedzielę; możesz też używać nazw, np. SUN lub MON-FRI.
    Dlaczego moje zadanie uruchamia się w więcej dni, niż oczekiwałem?
    Jeśli ograniczyłeś zarówno dzień miesiąca, jak i dzień tygodnia, cron uruchamia zadanie, gdy pasuje którekolwiek z nich. Ustaw jedno z pól na *, aby liczyło się tylko drugie.
    W jakiej strefie czasowej są podane kolejne uruchomienia?
    Domyślnie w strefie czasowej przeglądarki. Wybierz z listy strefę serwera (często UTC), aby zobaczyć, kiedy dokładnie zadanie się tam uruchomi.

    Powiązane narzędzia