Generator wyrażeń cron
Zbuduj harmonogram crontab z prostych wyborów, a potem sprawdź, co oznacza po polsku i kiedy uruchomi się następnym razem.
Działa w całości w Twojej przeglądarce
Wyrażenie cron
* * * * *
Następne uruchomienia
Masz już wyrażenie i chcesz tylko, żeby ktoś je wyjaśnił? Użyj narzędzia Wyjaśnij wyrażenie cron.
Standardowy cron z pięcioma polami, używany przez Vixie cron i cronie: minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia. Formaty Quartz i inne z polem sekund nie są generowane, a wklejone wyrażenia, których kontrolki nie potrafią pokazać, są zachowywane tak, jak wpisano.
Jak zbudować wyrażenie cron
- Zacznij od gotowego ustawienia albo ustaw każde pole tak, by uruchamiało się za każdym razem, co N jednostek od początku, dla wybranych wartości lub między dwiema wartościami.
- Sprawdź wyrażenie, jego opis prostym językiem i terminy następnych uruchomień w strefie czasowej używanej przez serwer.
- Skopiuj wyrażenie do crontab, harmonogramu CI lub innego planera. Możesz też wkleić istniejące wyrażenie, aby załadować je do kontrolek.
Budowanie harmonogramu cron
Wyrażenie cron to pięć pól oddzielonych spacjami: minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia. Każde pole odpowiada na jedno pytanie o to, kiedy zadanie ma się uruchamiać, a zadanie uruchamia się, gdy pasują wszystkie. Pozostawienie pola jako * oznacza każdą wartość, dlatego 0 * * * * uruchamia się na początku każdej godziny, a 0 0 * * * raz dziennie o północy.
Kreator daje każdemu polu cztery sposoby wyrażenia tego, czego chcesz. Krok, taki jak */15, oznacza co 15. wartość, lista, taka jak 1,15, wybiera dokładne wartości, zakres, taki jak 9-17, obejmuje wszystko między dwiema wartościami, a * oznacza każdą wartość. Gdy zaznaczasz wartości, ciągi trzech lub więcej kolejnych są zapisywane jako zakres, więc od poniedziałku do piątku daje 1-5, a nie 1,2,3,4,5.
Dwie pułapki łapią większość ludzi. Cron używa zegara maszyny, na której działa, więc zadanie ustawione na 09:00 uruchomi się o 09:00 czasu serwera, który może nie być twoim; lista następnych uruchomień pozwala sprawdzić to w kilku strefach. A gdy ograniczone są jednocześnie pola dnia miesiąca i dnia tygodnia, zadanie uruchamia się, gdy pasuje któreś z nich, co może oznaczać znacznie więcej uruchomień, niż oczekiwano.
Wskazówki
- Aby przeczytać wyrażenie napisane przez kogoś innego, wklej je do narzędzia Wyjaśnij wyrażenie cron.
- Zamień czas uruchomienia z logu na znacznik czasu Unix i z powrotem w narzędziu Konwerter znacznika czasu Unix.
- Zaplanowane skrypty wymagają ustawionego bitu wykonywania; właściwy tryb ustalisz w narzędziu Kalkulator chmod.
Najczęstsze pytania
Jak uruchamiać zadanie co 15 minut?
Ustaw Minutę na Co 15 minut, zaczynając od 0, co zapisze */15 * * * *. Zadanie uruchomi się w minutach 0, 15, 30 i 45 każdej godziny.
Jak zapisywany jest początek inny niż 0?
Początek, taki jak minuta 5 z krokiem 10, jest zapisywany jako 5-59/10, co uruchamia się o 5, 15, 25, 35, 45 i 55. Krótsze 5/10 działa w niektórych wersjach crona, ale inne je odrzucają, więc długa forma jest przenośnym wyborem.
Dlaczego niektóre dni są wybierane zakresami, a inne listami?
Trzy lub więcej kolejnych wartości jest zapisywanych jako zakres, więc od poniedziałku do piątku to 1-5, a poniedziałek, środa i piątek to 1,3,5. Oba oznaczają dokładnie zaznaczone wartości.
Co się dzieje, gdy ustawię jednocześnie dzień miesiąca i dzień tygodnia?
Standardowy cron uruchamia zadanie, gdy pasuje któreś z nich, a nie oba. 0 9 1 * 1 uruchamia się pierwszego dnia miesiąca i w każdy poniedziałek. Narzędzie dodaje uwagę, gdy twoje wybory trafiają w taki przypadek.
Jakiej strefy czasowej używają następne uruchomienia?
Tej, którą wybierzesz pod wyrażeniem. Sam cron używa strefy czasowej maszyny lub kontenera, na którym działa, chyba że crontab ustawia CRON_TZ. Wiele serwerów używa UTC, więc sprawdź to, zanim zaufasz godzinie.
Czy obsługuje sekundy, @daily lub składnię Quartz?
Buduje tylko wyrażenia pięciopolowe. Wklejenie @daily lub innego skrótu działa i jest zamieniane na odpowiednie pięć pól. Wyrażenia sześciopolowe i w stylu Quartz są odrzucane, bo ich pierwsze pole to sekundy. Szczegółowo wyjaśnia to narzędzie Wyjaśnij wyrażenie cron.