Generator CRON
Ustaw harmonogram w sekundę: presety, tryb ekspert, opis działania i gotowy wpis do crontaba. Bez rejestracji.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Generator CRON – twórz poprawne harmonogramy zadań w kilka sekund
CRON potrafi być genialnie prosty… dopóki nie pomylisz pól, zakresów albo nie trafisz na klasyczne „dlaczego to się nie uruchamia?”. Ten generator robi za Ciebie brudną robotę: składa wyrażenie, dopina pełną linię do crontaba i podpowiada, czy nie prosisz serwera o zbyt częste uruchomienia.
Jeśli chcesz ustawić backupy, raporty, odświeżanie cache, crona w aplikacji (np. polecenia CLI), ping do API albo zwykłe „odpal mi to codziennie o 02:00” – jesteś w dobrym miejscu. Generator CRON prowadzi Cię krok po kroku: wybierasz typ harmonogramu, podajesz godzinę/minutę (albo wchodzisz w tryb „Ekspert”), dodajesz komendę i od razu masz wynik do wklejenia.
Co jest najfajniejsze? To nie jest tylko „zlepka pięciu pól”. Dostajesz też ludzki opis (żeby nie zgadywać po samym 0 2 * * 1), plus prostą ocenę obciążenia – bo „co minutę” bywa wspaniałe do testów, ale w produkcji potrafi zamienić serwer w wiatrak.
Jak działa CRON w praktyce (bez ściemy)
CRON to mechanizm planowania zadań w systemach Linux/Unix. W skrócie: wpisujesz harmonogram w pięciu polach (minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia), a system odpala komendę zgodnie z tym planem. Problem polega na tym, że te pola mają swoje zasady, zakresy i „miny” – szczególnie wtedy, gdy chcesz coś uruchamiać „co X”, „w pierwszy poniedziałek” albo „tylko w dni robocze”.
Generator CRON rozwiązuje to po ludzku: zamiast walczyć z pamięciówką, wybierasz preset (co minutę / co godzinę / codziennie / tygodniowo / miesięcznie) albo tworzysz własne wyrażenie. W efekcie masz: gotowe wyrażenie CRON, pełną linię wpisu (z komendą) i opis, który mówi wprost, co się wydarzy.
Presety: szybkie zwycięstwo
Gdy potrzebujesz standardu (np. „codziennie o 02:00” albo „raz w tygodniu w poniedziałek”), presety są najszybszą drogą. Wpisujesz godzinę i minutę, a generator sam układa resztę pól tak, żeby było poprawnie i czytelnie.
To jest idealne, gdy nie chcesz myśleć o tym, czy „dzień tygodnia” to 0–6, czy 1–7, ani czy pola przypadkiem się nie gryzą.
Tryb Ekspert: pełna kontrola
Jeśli wiesz, czego chcesz (albo masz gotowy wzór i tylko go dopieszczasz), tryb „Własne wyrażenie” pozwala Ci wpisać każdy element osobno. Możesz używać *, zakresów i kroków (np. */5), a generator zadba o walidację pól.
To dobre rozwiązanie, gdy ustawiasz bardziej nietypowe harmonogramy, np. „co 10 minut w godzinach pracy” albo „w każdy piątek o 18:30”.
Krok po kroku: wygeneruj wpis do crontaba
Najprostszy scenariusz wygląda tak: wybierasz typ harmonogramu, uzupełniasz wymagane pola, dodajesz komendę (opcjonalnie) i klikasz generowanie. Wynik dostajesz w dwóch formach: krótkie wyrażenie (same pola CRON) oraz pełną linię do wklejenia, np. do crontaba użytkownika.
- Wybierz typ harmonogramu (preset albo „Ekspert”).
- Uzupełnij minutę/godzinę oraz dzień tygodnia lub miesiąca, jeśli generator o to poprosi.
- Wpisz komendę (np. skrypt, polecenie CLI, job w aplikacji).
- Skopiuj „Pełną linię wpisu” i wklej do crontaba w systemie.
Jeśli chcesz tylko „gołe” wyrażenie (np. do dokumentacji lub jako część konfiguracji w narzędziu), kopiujesz samo „Wyrażenie CRON”. Jeśli zależy Ci na gotowcu – bierzesz pełną linię.
Mini ściąga: co oznaczają pola CRON
Poniżej masz tabelę, do której warto wracać, gdy robisz własne wyrażenie. Jest krótka, ale ratuje przed klasycznym „miesiąc vs dzień tygodnia” oraz przed wpisaniem 60 w minutach (tak, to się zdarza częściej, niż myślisz).
| Pole | Zakres | Co oznacza | Przykłady |
|---|---|---|---|
| Minuta | 0–59 | W której minucie godziny odpalić zadanie | 0, 15, */5 |
| Godzina | 0–23 | O której godzinie odpalić zadanie | 2, 8, */2 |
| Dzień miesiąca | 1–31 lub * | Konkretny dzień w miesiącu | 1, 15, * |
| Miesiąc | 1–12 lub * | Konkretny miesiąc | 1 (styczeń), 12, * |
| Dzień tygodnia | 0–6 lub * | Konkretny dzień tygodnia (0 = niedziela) | 1 (pon), 5 (pt), * |
Przykłady, które naprawdę się przydają
Możesz znać teorię, ale CRON najlepiej „wchodzi” na przykładach. Oto kilka ustawień, które regularnie pojawiają się w realnych projektach – od prostych zadań administracyjnych po automaty w aplikacji.
Codziennie w nocy (backup, raport, sprzątanie)
Najczęstszy klasyk: raz dziennie, w godzinach najmniejszego ruchu. To dobry kompromis między aktualnością danych a obciążeniem. Generator pozwala ustawić to jako preset „Codziennie” i doprecyzować godzinę oraz minutę.
W praktyce takie zadania warto też logować, żeby w razie błędów nie polować na nie „po omacku”.
Co 5–15 minut (monitoring, synchronizacja, kolejki)
Jeśli coś ma działać „prawie na bieżąco”, często wybiera się uruchomienia co kilka minut. Tu bardzo łatwo przesadzić – szczególnie, jeśli komenda potrafi działać dłużej niż sam interwał. Generator pomoże Ci szybko ustawić krok (np. */5) i ocenić, że to częstsze uruchomienia.
Dobrą praktyką jest zabezpieczenie przed nakładaniem się procesów (lock) – to już zależy od Twojego środowiska, ale warto o tym pamiętać.
Te pułapki łapią nawet ogarniętych
CRON ma kilka „pułapek językowych”. Jedna z najczęstszych: wpisujesz dzień miesiąca i dzień tygodnia jednocześnie, a potem zastanawiasz się, czemu zadanie odpala się inaczej, niż oczekujesz. W wielu implementacjach CRON te pola potrafią działać w trybie „albo/albo” (a nie „i”), co daje nieintuicyjne efekty. Dlatego, jeśli nie musisz – trzymaj się prostych reguł i w razie wątpliwości testuj na krótszych zakresach.
Druga pułapka: strefa czasowa. Serwer może żyć w innym czasie niż Ty. Jeśli ustawiasz zadanie „o 2:00”, a serwer jest w UTC, to nagle „nie działa” – tylko działa o innej godzinie. Generator pomaga z częścią składni, ale kontekst (serwer, kontener, użytkownik) nadal jest po Twojej stronie.
Obciążenie i bezpieczeństwo: małe rzeczy, które robią dużą różnicę
Ustawienie harmonogramu to jedno, ale utrzymanie go w ryzach to drugie. Jeśli uruchamiasz zadanie często, a ono generuje dużo wyjścia (stdout/stderr), cron potrafi zasypać Cię mailami systemowymi albo po prostu „zjadać” zasoby. Dlatego warto mieć nawyk: przekierowania logów oraz świadomego dobierania częstotliwości.
Generator potrafi też podpowiedzieć prostą rzecz, która bywa pomijana: jeśli komenda nie ma przekierowania wyjścia, możesz dodać logowanie (np. do pliku). To daje Ci ślad: co się odpaliło, kiedy i z jakim efektem. Bez tego debugowanie bywa jak szukanie kluczy w śniegu – teoretycznie gdzieś są, praktycznie zniknęły.
- Upewnij się, że komenda działa ręcznie w terminalu (ten sam użytkownik).
- Sprawdź, czy ścieżki do plików są absolutne (cron nie „wie”, gdzie jesteś).
- Dodaj logowanie wyjścia (stdout i stderr), jeśli wynik ma znaczenie.
- Przy częstych uruchomieniach unikaj nakładania się procesów (lock/timeout).
- Zweryfikuj strefę czasową serwera, jeśli godziny się nie zgadzają.
- Nie ustawiaj „co minutę” dla zadań ciężkich, jeśli nie musisz.
Dla kogo to narzędzie jest stworzone
Ten generator jest dla ludzi, którzy chcą mieć CRON ogarnięty szybko i bez ryzyka, że gdzieś w piątym polu czai się błąd. Nieważne, czy jesteś administratorem, developerem, czy po prostu właścicielem strony, który musi „coś automatyzować” – docenisz to, że wynik jest czytelny i gotowy do wklejenia.
Harmonogramy backupów, czyszczenia logów, rotacji plików i automatycznych zadań serwisowych.
Odpalanie zadań CLI, workerów, synchronizacji danych i cyklicznych integracji z API.
Raporty, eksporty, generowanie feedów, odświeżanie cache i „porządki” na serwerze.
Zbieranie statystyk, cykliczne zrzuty danych, agregacje i wysyłki podsumowań.
Proste testy dostępności, cronowe pingi, restart usług przy spełnieniu warunków.
Szybkie ustawienia na hostingu/VPS bez nurkowania w dokumentację za każdym razem.
Najczęstsze pytania (FAQ)
Czy ten generator CRON jest darmowy i działa bez rejestracji?
Tak – możesz z niego korzystać od razu, bez zakładania konta. To narzędzie ma skrócić drogę od „potrzebuję harmonogramu” do „mam poprawny wpis”, dlatego nie dokładamy barier po drodze. W praktyce: wpisujesz parametry, generujesz wynik, kopiujesz i gotowe.
Jeśli wracasz do podobnych ustawień regularnie, warto zapisać sobie kilka najczęściej używanych wyrażeń (np. w notatkach projektu) – to przyspiesza pracę nawet bardziej niż pamiętanie składni.
Jak ustawić uruchamianie co 5 albo co 10 minut?
Najczęściej używa się zapisu krokowego w polu minut, np. */5 albo */10. W generatorze możesz to ustawić w trybie „Ekspert” (własne pola) albo skorzystać z presetów i doprecyzować częstotliwość, jeśli potrzebujesz niestandardu.
Ważna rzecz: upewnij się, że zadanie nie trwa dłużej niż interwał. Jeśli proces trwa 8 minut, a uruchamiasz go co 5 minut, zacznie się „nakładać” i prędzej czy później zrobi się bałagan.
Czemu CRON działa inaczej niż się spodziewam, gdy ustawiam dzień miesiąca i dzień tygodnia?
To jedna z najbardziej zdradliwych rzeczy w CRON. W zależności od implementacji, gdy ustawisz jednocześnie „dzień miesiąca” i „dzień tygodnia” (zamiast *), harmonogram może zadziałać w trybie „spełnij jeden z warunków”, a nie „spełnij oba”. Efekt: zadanie odpala się częściej albo w innych dniach, niż planowałeś.
Jeśli Twoim celem jest prosty plan (np. „w każdy poniedziałek”), trzymaj jedno pole jako *. Jeśli chcesz bardziej złożony scenariusz, testuj go na krótszym zakresie i zawsze zapisuj sobie opis, co dokładnie ma się wydarzyć.
Jak poprawnie logować wyjście i błędy z crona?
Najbezpieczniejsza praktyka to przekierowanie standardowego wyjścia i błędów do pliku, żebyś miał historię działania. Bez logów łatwo przeoczyć problem (zwłaszcza, gdy zadanie działa „zwykle”, ale czasem nie). Generator potrafi zwrócić uwagę, gdy komenda nie ma przekierowania.
Pamiętaj, że logi też trzeba utrzymywać: rotować, sprzątać albo ograniczać rozmiar. Inaczej po miesiącu okaże się, że „zjadły Ci dysk” – i wtedy dopiero robi się ciekawie.
Czemu zadanie nie uruchamia się, mimo że wyrażenie wygląda dobrze?
Jeśli składnia jest poprawna, a zadanie „milczy”, przyczyna zwykle jest obok harmonogramu: inny użytkownik w crontabie, brak uprawnień, zła ścieżka do interpretera lub pliku, brak zmiennych środowiskowych, albo komenda działa tylko w konkretnym katalogu. Cron uruchamia polecenia w bardziej „surowym” środowisku niż Twoja sesja terminala.
Najszybsza diagnoza to: dodać logowanie, sprawdzić ścieżki absolutne i uruchomić dokładnie tę samą komendę ręcznie jako ten sam użytkownik, który ma wpis w cronie.
Czy mogę używać generatora do komend aplikacyjnych (np. artisan, skrypty Node, Python)?
Tak. Dla CRON nie ma znaczenia, czy uruchamiasz backup baz danych, czy polecenie frameworka – ważne, żeby komenda była poprawna w Twoim systemie i miała odpowiednie uprawnienia. Generator pomaga skleić harmonogram i dać Ci linię gotową do wklejenia.
W przypadku komend aplikacyjnych często warto zadbać o pełną ścieżkę do interpretera (np. php, node, python) oraz o ustawienie katalogu roboczego, jeśli aplikacja tego wymaga.
Gotowy? Wygeneruj swoje wyrażenie i skopiuj do crontaba
Jeśli chcesz to zrobić najszybciej, wybierz preset (codziennie/tygodniowo/miesięcznie), wpisz godzinę i minutę, dodaj komendę i skopiuj pełną linię. Jeśli wolisz precyzję – przełącz się na tryb „Ekspert” i ustaw pola dokładnie tak, jak potrzebujesz.
Otwórz generator i wygeneruj CRON