Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator wyrażeń cron

Zbuduj harmonogram i zobacz, kiedy się uruchomi

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Gwiazdka to każda wartość, przecinek tworzy listę (1,15), myślnik zakres (1-5), ukośnik krok (*/10). Działają też skróty JAN–DEC i MON–SUN.

Wyrażenie cron

0 3 * * * OK

Codziennie o 03:00.

Uruchomień w dniu aktywnym

1 razy

Dotyczy dni pasujących do pól dnia i miesiąca.

Najbliższe uruchomienie

Obliczam…

Dni uruchamiania

Każdy dzień

Strefa czasowa serwera

UTC

Cron używa czasu serwera, na którym działa.

Obliczam najbliższe terminy…

Ściąga: składnia crontab

Pola wyrażenia (kolejność od lewej)

Pięć pól oddzielonych spacjami
PoleDozwolone wartościUwagi
Minuta 0–59
Godzina 0–23 zapis 24-godzinny
Dzień miesiąca 1–31 dni 29–31 nie występują w każdym miesiącu
Miesiąc 1–12 lub skróty JAN–DEC
Dzień tygodnia 0–7 0 i 7 to niedziela, 1 to poniedziałek; lub skróty SUN–SAT

Znaki specjalne

Znaki używane w polach
ZnakZnaczeniePrzykład
* każda wartość z zakresu pola * * * * * to co minutę
, lista wartości 1,15 w polu dnia miesiąca to 1. i 15.
- zakres włącznie z końcami 1-5 w polu dnia tygodnia to pn–pt
/ krok */15 w minutach to 0, 15, 30, 45

Popularne wyrażenia

Przykłady z opisem
WyrażenieZnaczenie
* * * * * Co minutę.
*/5 * * * * Co 5 minut.
0 * * * * Co godzinę, równo o pełnej godzinie.
0 */6 * * * Co 6 godzin: o 00:00, 06:00, 12:00, 18:00.
0 3 * * * Codziennie o 03:00.
30 8 * * 1-5 W dni robocze (pn–pt) o 08:30.
0 9 * * 1 W każdy poniedziałek o 09:00.
0 0 * * 0 W każdą niedzielę o 00:00.
0 0 1 * * 1. dnia miesiąca o 00:00.
15 10 1,15 * * W dniach miesiąca: 1, 15 o 10:15.
0 0 1 1 * 1. dnia miesiąca o 00:00, w styczniu.

Skróty zamiast pięciu pól

Skróty obsługiwane w większości implementacji cron
SkrótOdpowiadaZnaczenie
@yearly, @annually 0 0 1 1 * raz w roku, 1 stycznia o północy
@monthly 0 0 1 * * 1. dnia miesiąca o północy
@weekly 0 0 * * 0 w niedzielę o północy
@daily, @midnight 0 0 * * * codziennie o północy
@hourly 0 * * * * co godzinę, równo o pełnej godzinie

Jak to liczymy

Każde pole zamieniamy na zbiór wartości (1-5 to 1, 2, 3, 4, 5). Zadanie uruchamia się, gdy minuta, godzina i miesiąc pasują do swoich zbiorów, a dzień do pól dnia. Dla wyrażenia 0 3 * * * liczba uruchomień w dniu aktywnym to 1: tyle, ile wynosi iloczyn liczby minut i liczby godzin.

Pułapki harmonogramu

Gdy ustawisz oba pola dnia (miesiąca i tygodnia), cron uruchomi zadanie, gdy pasuje któreś z nich. Krok */7 w minutach daje 0, 7, ..., 56, a potem znowu 0, więc przerwy nie są równe. Godziny odnoszą się do strefy czasowej serwera, na którym działa cron.

Pułapki polecenia

Wpis dodasz przez crontab -e, a listę sprawdzisz przez crontab -l. Cron działa w minimalnym środowisku, więc podawaj pełne ścieżki do programów i plików. Znak % w poleceniu oznacza koniec linii, dlatego zapisz go jako \%. Quartz i AWS EventBridge używają innej składni, z sześcioma polami.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator wyrażeń cron

Cron to standardowy harmonogram zadań w systemach Unix. Wyrażenie ma pięć pól, a błąd w jednym z nich oznacza zadanie uruchamiane w złym czasie.

Budowa wyrażenia

PoleZakres
Minuta0–59
Godzina0–23
Dzień miesiąca1–31
Miesiąc1–12
Dzień tygodnia0–6 (0 = niedziela)

Znaki specjalne

  • * — każda wartość,
  • , — lista (np. 1,15),
  • - — zakres (np. 1-5),
  • /n — krok (np. */5 = co 5).

Przykłady

  • 0 3 * * * — codziennie o 3:00,
  • */5 * * * * — co 5 minut,
  • 30 8 * * 1-5 — dni robocze o 8:30,
  • 0 0 1 * * — pierwszy dzień miesiąca o północy.

Jak działa generator i skąd bierze się lista uruchomień

Wyrażenie cron to pięć niezależnych warunków. System co minutę sprawdza, czy bieżąca minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia należą do zbiorów opisanych w poszczególnych polach. Jeśli którykolwiek warunek nie jest spełniony, zadanie jest pomijane i sprawdzenie wraca przy następnej minucie. Każde pole opisuje więc zbiór dozwolonych wartości, a nie jedną konkretną wartość.

Generator działa w drugą stronę. Zamiast czekać na upływ czasu, przegląda kolejne minuty od momentu wygenerowania i dla każdej z nich sprawdza zgodność z wyrażeniem. Pierwsze trafienia tworzą listę najbliższych uruchomień, dlatego wynik zależy od tego, kiedy go policzysz oraz od strefy czasowej urządzenia, na którym otwarto narzędzie.

Zbiór wartości w jednym polu może być sumą kilku zapisów: pojedynczej liczby, listy, zakresu, kroku albo gwiazdki oznaczającej cały zakres. Krok odlicza się od początku zakresu, więc w polu minuty zapis */15 daje wartości 0, 15, 30 i 45, czyli cztery uruchomienia w ciągu godziny. Ten sam mechanizm obowiązuje w pozostałych polach, tylko na innych zakresach.

Przykład krok po kroku: */15 9-17 * * 1-5

  1. Dzielimy wyrażenie na pięć pól: minuta */15, godzina 9-17, dzień miesiąca *, miesiąc *, dzień tygodnia 1-5.
  2. Pole minuty: krok 15 od początku zakresu 0-59 daje wartości 0, 15, 30 i 45, czyli 4 uruchomienia w każdej godzinie.
  3. Pole godziny: zakres 9-17 obejmuje 9 wartości (9, 10, 11, 12, 13, 14, 15, 16, 17).
  4. Dzień miesiąca i miesiąc to gwiazdki, więc zadanie może wypaść każdego dnia roku.
  5. Dzień tygodnia 1-5 to poniedziałek, wtorek, środa, czwartek i piątek; sobota i niedziela wypadają z harmonogramu.
  6. Mnożymy: 4 uruchomienia na godzinę razy 9 godzin = 36 uruchomień w dniu roboczym, czyli 36 razy 5 = 180 w tygodniu. Pierwsze odpalenie wypada w poniedziałek o 9:00, ostatnie o 17:45.

Krok w polu minuty a liczba uruchomień

Zapis w polu minutyUruchomienia w ciągu godzinyUruchomienia w ciągu doby (pozostałe pola jako gwiazdki)
*/1601440
*/230720
*/512288
*/106144
*/15496
*/20372
*/30248

Jak używać generatora w praktyce

  • Buduj wyrażenie od najrzadszego pola - najpierw ustal dzień i godzinę, a dopiero na końcu doprecyzuj minuty. Łatwiej wtedy zauważyć, że zakres godzin kończy się na 23, a nie na 24.
  • Zamień długą listę na zakres z krokiem - zapis 0-45/15 jest krótszy i czytelniejszy niż 0,15,30,45, a daje dokładnie te same cztery wartości w każdej godzinie.
  • Testuj na wyrażeniu z najbliższą minutą - wpisz w polu minuty wartość o kilka minut do przodu i sprawdź listę najbliższych uruchomień, zamiast czekać na pełny cykl dobowy.
  • Nie ograniczaj jednocześnie dnia miesiąca i dnia tygodnia - gdy oba pola są zawężone, przewidzenie terminu staje się trudne, bo zależność między nimi bywa nieintuicyjna. Zostaw jedno z nich jako gwiazdkę.
  • Dopisuj opis obok wyrażenia - w crontabie dodaj komentarz z celem zadania, bo po kilku miesiącach sam zapis */15 9-17 * * 1-5 nic nie mówi o tym, co właściwie ma się uruchomić.

Ograniczenia narzędzia i pułapki

  • Czas liczony lokalnie po stronie przeglądarki - lista najbliższych uruchomień powstaje według zegara urządzenia, na którym otwarto narzędzie. Serwer docelowy może pracować w innej strefie i wtedy realne godziny będą inne.
  • Brak rozszerzeń poza pięcioma polami - narzędzie obsługuje klasyczny zapis. Rozwiązania typu ostatni dzień miesiąca, najbliższy dzień roboczy czy trzeci piątek miesiąca nie mają tu swojego odpowiednika.
  • Brak kontroli kalendarza - miesiące mają różną liczbę dni, więc wpis z dniem 31 nie wykona się w każdym miesiącu. Generator nie ostrzega o takich martwych kombinacjach, po prostu pokazuje trafienia.
  • Nie sprawdza samego zadania - poprawna składnia wyrażenia nie oznacza, że polecenie istnieje, ma wymagane uprawnienia i właściwe ścieżki w minimalnym środowisku crona. Tego narzędzie nie weryfikuje.

Najczęstsze pytania

Jak dodać zadanie?

Wpisz crontab -e i dodaj linię: wyrażenie polecenie.

Dlaczego zadanie się nie uruchamia?

Sprawdź ścieżki (cron ma minimalne środowisko), uprawnienia i logi systemowe.

Jak strefa czasowa działa w cronie?

Cron używa czasu lokalnego serwera — ustaw go poprawnie lub użyj CRON_TZ.

Co oznacza */5 w wyrażeniu cron?

To krok: w polu minuty oznacza wartości 0, 5, 10 i tak dalej aż do 55. Zadanie uruchamia się więc 12 razy w ciągu godziny, a przy pozostałych polach ustawionych na gwiazdkę 288 razy na dobę.

Ile razy na dobę uruchomi się zadanie z */15 w polu minuty?

Krok 15 daje cztery wartości w każdej godzinie (0, 15, 30, 45), czyli 4 razy 24 = 96 uruchomień na dobę, o ile pozostałe pola pozostają gwiazdkami.

Jak ustawić zadanie na ostatni dzień miesiąca?

Klasyczne pięć pól nie ma znacznika ostatniego dnia miesiąca. Najprościej uruchamiać zadanie codziennie i sprawdzać datę w samym skrypcie. Część implementacji crona obsługuje dodatkowe znaczniki, ale nie są one częścią standardu.

Czy cron nadrobi uruchomienia pominięte przy wyłączonym serwerze?

Nie. Cron wywołuje zadanie tylko wtedy, gdy w danej minucie działa, więc pominięte terminy przepadają. Nadrabianie zaległości po restarcie to funkcja dodatkowych narzędzi, a nie samego crona.

Czy dzień tygodnia można zapisać jako 7 zamiast 0 dla niedzieli?

W tym generatorze pole dnia tygodnia przyjmuje wartości 0-6, gdzie 0 oznacza niedzielę. Część systemów akceptuje także 7, ale jeśli wpis ma być przenośny między serwerami, lepiej używać 0.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!