Parser wyrażeń cron

Przeanalizuj harmonogram cron na czytelne pola i zobacz podgląd najbliższych uruchomień bezpośrednio w przeglądarce.

Wyrażenie cron

Najbliższe uruchomienia

(Państwa czas lokalny)

Wprowadź wyrażenie cron, aby je przeanalizować.

Wyrażenie cron jest analizowane bezpośrednio w przeglądarce. Nic nie jest wysyłane do BroBroGo.

FAQ

Jaką składnię cron obsługuje to narzędzie?

Standardowy 5-polowy format cron — minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia — w tym zakresy (1-5), kroki (*/15), listy (1,15), nazwy miesięcy i dni tygodnia (JAN, MON) oraz skróty takie jak @yearly, @monthly, @weekly, @daily czy @hourly. Jedna ważna zasada: gdy zarówno dzień miesiąca, jak i dzień tygodnia są ograniczone (inne niż *), wystarczy spełnienie jednego z tych warunków — nie muszą zachodzić jednocześnie.

W jakiej strefie czasowej wyświetlane są najbliższe uruchomienia?

Lokalną strefę czasową Państwa przeglądarki — tę samą, z której korzysta zegar systemowy. Standardowy cron nie zawiera informacji o strefie czasowej; decyduje o niej harmonogram zadań na serwerze, dlatego te czasy należy traktować jako podgląd lokalny, a niekoniecznie czas na serwerze.

Dlaczego pojawia się informacja, że ten harmonogram nigdy się nie uruchomi?

Zazwyczaj wynika to z określenia dnia miesiąca, który nie istnieje w każdym z wybranych miesięcy — na przykład dnia 31. przy wyborze kwietnia, czerwca, września lub listopada. Należy wybrać dzień, który występuje we wszystkich wskazanych miesiącach, lub podzielić harmonogram na osobne wyrażenia.

Analiza i rozbicie składni wyrażeń cron

Harmonogramy zadań w systemach operacyjnych i aplikacjach serwerowych opierają się na precyzyjnym definiowaniu czasu. Narzędzie „Parser wyrażeń cron” służy do dekompozycji jednolinijkowego zapisu cron na poszczególne składowe oraz do wyznaczania najbliższych momentów uruchomienia zadania. Narzędzie obsługuje standardowy format składający się z 5 pól. Każde z tych pól odpowiada za inny aspekt harmonogramu:

  • Minuta (pierwsze pole)
  • Godzina (drugie pole)
  • Dzień miesiąca (trzecie pole)
  • Miesiąc (czwarte pole)
  • Dzień tygodnia (piąte pole)

Wprowadzenie wyrażenia pozwala natychmiast zweryfikować poprawność składniową. Jeśli pole wejściowe jest puste, narzędzie powraca do stanu gotowości, wyświetlając komunikat „Wprowadź wyrażenie cron, aby je przeanalizować.”. W przypadku błędów składniowych użytkownik zobaczy komunikat „Nieprawidłowe wyrażenie cron.”.

Obsługiwane formaty i operatory

Narzędzie przetwarza standardową składnię 5-polową oraz popularne operatory ułatwiające definiowanie przedziałów czasowych. Do obsługiwanych struktur należą:

  • Zakresy: Zapisywane z myślnikiem, na przykład 1-5, co oznacza uruchamianie w każdym punkcie czasowym z tego przedziału.
  • Kroki: Zapisywane z ukośnikiem, na przykład */15. W szczegółach harmonogramu zapis ten jest tłumaczony w zależności od pola jako „Co {n} min”, „Co {n} godz.”, „Co {n} dni”, „Co {n} mies.” lub „Co {n} dni”.
  • Listy: Wartości rozdzielane przecinkami, na przykład 1,15, umożliwiające wskazanie konkretnych dni lub godzin.
  • Nazwy słowne: Narzędzie akceptuje trzyliterowe skróty nazw miesięcy (np. JAN) oraz dni tygodnia (np. MON).
  • Skróty specjalne: Zamiast pełnego zapisu 5-polowego można użyć predefiniowanych makr: @yearly, @monthly, @weekly, @daily oraz @hourly.

Wszelkie pola oznaczone symbolem wieloznaczności * są interpretowane i wyświetlane w sekcji szczegółów jako „Dowolny”. Przykładowym poprawnym wejściem łączącym te operatory jest */15 9-17 * * MON-FRI.

Należy pamiętać, że narzędzie nie obsługuje szóstego pola odpowiadającego za sekundy ani rozszerzeń specyficznych dla formatu Quartz, takich jak znaki L, W czy #.

Specyfika interpretacji pól i pułapki logiczne

Podczas projektowania harmonogramów cron kluczowe jest zrozumienie relacji między polem dnia miesiąca a dniem tygodnia. W standardzie cron obowiązuje reguła, że gdy oba te pola są ograniczone (czyli nie zawierają znaku *), dopasowanie któregokolwiek z nich jest wystarczające do uruchomienia zadania. Zadanie wykona się zarówno wtedy, gdy wypadnie wskazany dzień miesiąca, jak i wtedy, gdy nastąpi określony dzień tygodnia.

Inną istotną kwestią są harmonogramy niemożliwe do zrealizowania. Jeśli wyrażenie jest poprawne pod kątem składni, ale logicznie wyklucza możliwość uruchomienia, narzędzie wyświetli komunikat: „Ten harmonogram nigdy się nie uruchomi — proszę sprawdzić, czy wybrany dzień miesiąca istnieje we wszystkich zaznaczonych miesiącach.”. Sytuacja taka ma miejsce najczęściej przy próbie ustawienia 31. dnia miesiąca w okresie, który obejmuje miesiące mające mniej dni, takie jak kwiecień, czerwiec, wrzesień czy listopad.

Strefy czasowe a wyznaczanie najbliższych uruchomień

Standardowy zapis cron nie przechowuje informacji o strefie czasowej. Harmonogram jest wykonywany zgodnie z czasem systemowym maszyny, na której działa demon cron.

Narzędzie „Parser wyrażeń cron” oblicza i wyświetla listę nadchodzących uruchomień, konwertując je na strefę czasową przeglądarki użytkownika. Obok listy prezentowana jest uwaga „(Państwa czas lokalny)”. Użytkownik ma możliwość regulacji liczby wyświetlanych przyszłych uruchomień w zakresie od 1 do 20 za pomocą pola „Liczba”. Podgląd ten ułatwia weryfikację, czy zaplanowane zadanie nie koliduje z oknami serwisowymi lub innymi procesami w lokalnym środowisku pracy.

Prywatność i przetwarzanie danych

Analiza wyrażeń cron oraz kalkulacja przyszłych uruchomień odbywają się w pełni lokalnie. Cały proces przetwarzania danych jest realizowany bezpośrednio w przeglądarce użytkownika. Żadne wprowadzane zapytania ani dane wejściowe nie są wysyłane do serwerów BroBroGo.

Często zadawane pytania (FAQ)

Jaką składnię cron obsługuje to narzędzie?
Standardowy 5-polowy format cron — minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia — w tym zakresy (1-5), kroki (*/15), listy (1,15), nazwy miesięcy i dni tygodnia (JAN, MON) oraz skróty takie jak @yearly, @monthly, @weekly, @daily czy @hourly. Jedna ważna zasada: gdy zarówno dzień miesiąca, jak i dzień tygodnia są ograniczone (inne niż *), wystarczy spełnienie jednego z tych warunków — nie muszą zachodzić jednocześnie.

W jakiej strefie czasowej wyświetlane są najbliższe uruchomienia?
Lokalną strefę czasową Państwa przeglądarki — tę samą, z której korzysta zegar systemowy. Standardowy cron nie zawiera informacji o strefie czasowej; decyduje o niej harmonogram zadań na serwerze, dlatego te czasy należy traktować jako podgląd lokalny, a niekoniecznie czas na serwerze.

Dlaczego pojawia się informacja, że ten harmonogram nigdy się nie uruchomi?
Zazwyczaj wynika to z określenia dnia miesiąca, który nie istnieje w każdym z wybranych miesięcy — na przykład dnia 31. przy wyborze kwietnia, czerwca, września lub listopada. Należy wybrać dzień, który występuje we wszystkich wskazanych miesiącach, lub podzielić harmonogram na osobne wyrażenia.