Wyrażenie cron
Local only — nothing is uploaded unless you save or share it.
Przeczytaj wyrażenie cron po ludzku i zobacz dokładnie, kiedy uruchomi się następnym razem.
- Wklej swoje wyrażenie cron — pięć pól albo skrót w rodzaju @daily.
- Przeczytaj opis po ludzku i sprawdź, czy mówi to, co zamierzałeś.
- Porównaj najbliższe uruchomienia z tym, czego się spodziewałeś. Jeśli się nie zgadzają, błędne jest wyrażenie, a nie lista.
- Zmień strefę czasową, jeśli twój serwer działa gdzie indziej niż w UTC — cron oznacza czas z zegara na ścianie, więc odpowiedź przesuwa się razem z nim.
Co to znaczy
Najbliższe uruchomienia
Zapisz to narzędzie
Miej Wyrażenie cron pod ręką
Użyj menu Udostępnij w przeglądarce, a potem „Dodaj do ekranu głównego”.
O tym narzędziu
Wyrażenie cron to pięć pól i zero pobłażania. */15 3 * * 1-5 to albo dokładnie to, co miałeś na myśli, albo zadanie uruchamiane dziewięćdziesiąt sześć razy dziennie zamiast czterech, a składnia niczego o tym nie mówi. To narzędzie odczytuje wyrażenie z powrotem jako zdanie, a potem robi rzecz, która naprawdę wyłapuje pomyłki: pokazuje najbliższe momenty, w których zadanie faktycznie wystartuje. Czasy uruchomień są sednem. Opis można przeczytać tak, jak już się wierzy, że to działa — dat nie da się. Jeśli spodziewałeś się poniedziałku, a lista mówi wtorek, znalazłeś błąd, zanim on znalazł ciebie. Rozumie cały standardowy crontab: zakresy, listy, kroki, trzyliterowe nazwy miesięcy i dni tygodnia oraz rodzinę skrótów @daily. Ostrzega też przed jedyną regułą, której nikt nie zgaduje. Gdy ustawisz jednocześnie dzień miesiąca i dzień tygodnia, cron uruchamia się, gdy pasuje którykolwiek z nich — więc 0 0 13 * FRI to nie piątek trzynastego, lecz każdy trzynasty plus każdy piątek. To jedno nieporozumienie stoi za większą liczbą zaskakujących maili niż wszystkie pozostałe błędy cron razem wzięte. Wszystko dzieje się w twojej przeglądarce. Nic z twojego harmonogramu nigdzie nie trafia.
Najczęstsze pytania
Co robi to wyrażenie cron?
Wklej je powyżej, a opis powie to po ludzku, a za nim pojawi się pięć najbliższych momentów, w których naprawdę wystartuje. Czasy uruchomień to część warta sprawdzenia — opis można przeczytać tak, jak i tak zakładasz, że działa, a dat nie da się.
Co oznaczają te pięć pól?
Po kolei: minuta (0–59), godzina (0–23), dzień miesiąca (1–31), miesiąc (1–12) oraz dzień tygodnia (0–7, gdzie zarówno 0, jak i 7 znaczą niedzielę). Gwiazdka oznacza każdą wartość tego pola.
Dlaczego moje zadanie działa w dni, o które nie prosiłem?
Niemal zawsze przez regułę dnia miesiąca i dnia tygodnia. Gdy oba pola ustawione są na coś innego niż *, cron uruchamia się, gdy pasuje którekolwiek z nich, a nie oba naraz. Zatem 0 0 13 * FRI odpala każdego trzynastego i w każdy piątek. Żeby dostać piątek trzynastego, potrzebujesz sprawdzenia wewnątrz samego zadania — cron tego nie wyrazi.
Co właściwie znaczy */15?
Co piętnasta wartość tego pola, licząc od początku. W polu minut to :00, :15, :30 i :45 każdej godziny. To nie jest „co 15 minut od teraz” — harmonogram przypięty jest do zegara, więc zadanie uruchomione o 07:20 i tak zadziała następnie o 07:30.
Jakiej strefy czasowej używają czasy uruchomień?
Tej, którą wybierzesz, i to ma znaczenie. Crontab oznacza czas z zegara na ścianie w strefie serwera, więc 0 3 * * * to tam trzecia nad ranem — i pozostaje trzecią nad ranem także przy zmianie czasu, choć jeden z tych dni trwa 23 godziny. Ustaw strefę zgodną z serwerem, a nie ze sobą.
Czy obsługuje sekundy albo L i W?
Nie, i to celowo. Sześciopolowe wyrażenia z sekundami to Quartz, a L, W i # to rozszerzenia Quartza i Springa. Przyjmowanie ich tutaj mówiłoby ci, że wyrażenie jest w porządku, podczas gdy cron, do którego je wkleisz, je odrzuci.
Pomóż ulepszyć to narzędzie
Znalazłeś błąd, chcesz zmiany albo brakuje Ci jakiegoś narzędzia?
Masz niewysłaną wiadomość.
Dzięki — mamy to. Odpowiedź znajdziesz w swojej skrzynce.Go to my messages