Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator wyrażeń cron (crontab)

Twórz wyrażenia cron (crontab) za pomocą presetów, kreatora pól lub własnego wyrażenia. Gotowa linia crontab z opisem i rozbiciem pól.

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";
}
*/5 * * * * /usr/bin/php /var/www/html/artisan schedule:run >> /var/log/cron-schedule.log 2>&1
🕑 Co 5 minut
Minuta */5
Godzina *
Dzień mies. *
Miesiąc *
Dzień tyd. *
Podgląd źródła (JSON)
{
    "output": "*/5 * * * * /usr/bin/php /var/www/html/artisan schedule:run >> /var/log/cron-schedule.log 2>&1",
    "raw": "*/5 * * * * /usr/bin/php /var/www/html/artisan schedule:run >> /var/log/cron-schedule.log 2>&1",
    "metadata": {
        "expression": "*/5 * * * *",
        "description": "Co 5 minut",
        "command_used": "Tak"
    }
}

Oceń to narzędzie:

Powiązane narzędzia

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

Generator wyrażeń cron (crontab)

Narzędzie pozwala szybko wygenerować poprawne wyrażenie cron używane w systemie crontab (Linux/Unix). Wybierz gotowy preset, skorzystaj z kreatora pól lub wpisz własne wyrażenie — generator wyświetli gotową linię crontab z opisem harmonogramu po polsku.

cron / crontab harmonogram zadań kreator darmowe online

Składnia wyrażenia cron — 5 pól

Wyrażenie cron składa się z 5 pól oddzielonych spacjami:

┌────────── minuta (0–59)
│ ┌──────── godzina (0–23)
│ │ ┌────── dzień miesiąca (1–31)
│ │ │ ┌──── miesiąc (1–12)
│ │ │ │ ┌── dzień tygodnia (0–7, 0=niedziela)
│ │ │ │ │
* * * * *  komenda
  • * — każda wartość (np. co minutę)
  • */n — co n-tą wartość (np. */5 = co 5 minut)
  • a-b — zakres (np. 1-5 = pon.–pt.)
  • a,b,c — lista wartości (np. 0,6,12)
  • a-b/n — zakres co n-tą wartość

Jak używać generatora

  1. Wybierz tryb: Gotowe presety (np. co 5 minut, codziennie o północy), Kreator pól (minuta, godzina itd. osobno) lub Własne wyrażenie.
  2. Opcjonalnie wpisz komendę do uruchomienia i zaznacz „Dołącz komendę do wyniku".
  3. Kliknij Przetwórz — generator wyświetli gotową linię crontab w formacie monospace z opisem i rozbiciem 5 pól.
  4. Skopiuj linię przyciskiem Kopiuj i wklej ją do crontaba (crontab -e).

Przykłady wyrażeń cron

Popularne harmonogramy

  • * * * * * — co minutę
  • */5 * * * * — co 5 minut
  • 0 * * * * — co godzinę (o pełnej)
  • 0 3 * * * — codziennie o 3:00
  • 0 0 * * 0 — co niedzielę o północy
  • 0 0 1 * * — pierwszego każdego miesiąca
  • 0 0 1 1 * — co roku, 1 stycznia
  • 30 7 * * 1-5 — pon.–pt. o 7:30

Gdzie wpisać crontab?

Otwórz terminal i wpisz:

crontab -e

Otworzy się edytor z listą zadań. Każda linia to jedno zadanie. Wklej wygenerowaną linię, zapisz i zamknij edytor. Zadania zostaną uruchomione automatycznie przez crond.

Sprawdzenie listy zadań: crontab -l
Logi crona: /var/log/syslog lub /var/log/cron

Jak działa dopasowanie czasu w cronie

crontab to zwykły plik tekstowy, w którym każda linia opisuje jedno zadanie: pięć pól czasu, spacja, a dalej komenda do uruchomienia. Demon cron budzi się raz na minutę, pobiera aktualny czas systemowy i porównuje go z kolejnymi wpisami. Jeśli minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia pasują jednocześnie, komenda zostaje wykonana.

Każde pole działa jak niezależny filtr. Gwiazdka nie filtruje niczego, pojedyncza liczba przepuszcza tylko jedną wartość, zakres a-b wszystkie wartości pomiędzy, lista a,b,c wybrane wartości, a zapis */n przepuszcza co n-tą wartość z całego zakresu pola. Warunki z różnych pól łączą się spójnikiem „i” — zadanie ruszy dopiero, gdy wszystkie pięć filtrów przepuści bieżący czas.

Wyjątkiem jest para dzień miesiąca i dzień tygodnia. Gdy oba pola są ograniczone, czyli żadne nie zawiera gwiazdki, cron traktuje je jako alternatywę: zadanie uruchomi się, gdy pasuje dzień miesiąca LUB dzień tygodnia. Zapis 0 0 1 * 1 oznacza więc pierwszy dzień miesiąca albo poniedziałek, a nie pierwszy poniedziałek miesiąca. To najczęstsze źródło pomyłek przy budowaniu harmonogramów.

Przykład krok po kroku: raport w dni robocze o 7:30

  1. Określ cel zadania — chcemy uruchamiać skrypt /usr/local/bin/raport.sh w dni robocze o 7:30.
  2. Ustaw minutę na 30 — w polu minuta wpisujemy 30, więc zadanie odpali się wyłącznie w 30. minucie godziny, a nie w każdej minucie.
  3. Ustaw godzinę na 7 — pole godzina przyjmuje wartość 7 w zapisie 24-godzinnym, czyli 7:30 rano.
  4. Zostaw dzień miesiąca i miesiąc jako gwiazdki — dwa znaki * oznaczają dowolny dzień dowolnego miesiąca, więc nic nie zawężamy.
  5. Ustaw dzień tygodnia jako zakres 1-5 — 1 to poniedziałek, 5 to piątek, więc sobota i niedziela są wykluczone.
  6. Odczytaj wynik i wklej go do crontaba — generator zwraca linię 30 7 * * 1-5 /usr/local/bin/raport.sh z opisem „poniedziałek–piątek o 07:30”. Skopiuj ją i umieść w pliku otwartym przez crontab -e, zapisując zmiany.

Tabela referencyjna pól i zapisów

PoleZakres wartościCo przyjmuje i przykłady
Minuta0–59* (każda), 0, 30, */5 (co 5 minut), 0,15,30,45
Godzina0–23* (każda), 0 (północ), 3, 7, 6-22, */2
Dzień miesiąca1–31* (każdy), 1, 15, 1-7, 1,15
Miesiąc1–12* (każdy), 1 (styczeń), 12, 6-8
Dzień tygodnia0–7 (0 i 7 to niedziela)* (każdy), 1 (poniedziałek), 5 (piątek), 1-5, 0,6
Znak * i zapis */n—* = każda wartość, */15 = co 15 jednostek wewnątrz danego pola
Dzień miesiąca razem z dniem tygodnia—gdy oba pola są ograniczone, działa suma logiczna (LUB), nie iloczyn
Skróty z małpą—@reboot, @hourly, @daily, @weekly — zastępują całe pięć pól

Praktyczne wskazówki przed wklejeniem wpisu

  • Najpierw przetestuj na bliskiej godzinie — ustaw tymczasowo harmonogram o minutę lub dwie do przodu, sprawdź, czy zadanie faktycznie ruszyło, a potem zmień wpis na docelowy.
  • Używaj ścieżek bezwzględnych i przekieruj wyjście — cron uruchamia komendę w minimalnym środowisku, bez Twojego PATH; wynik i błędy zapisuj do pliku, dopisując na końcu komendy przekierowanie do logu.
  • Sprawdź strefę czasową serwera — cron korzysta z czasu lokalnego maszyny, więc ten sam wpis na dwóch serwerach może wystartować o różnych godzinach.
  • Chroń się przed nakładaniem zadań — jeśli komenda może trwać dłużej niż odstęp między uruchomieniami, dodaj blokadę procesu albo rozrzedź harmonogram.
  • Komentuj wpisy — linia rozpoczynająca się od znaku # jest komentarzem; krótki opis nad zadaniem oszczędza czas przy późniejszej edycji.

Czego generator nie uwzględnia

  • To generator wyrażenia, nie wykonawca — narzędzie zwraca poprawny zapis harmonogramu, ale nie uruchamia komendy i nie sprawdza, czy wskazany plik istnieje ani czy ma prawa wykonywania.
  • Nie zna strefy czasowej ani zmiany czasu — wynik opiera się wyłącznie na polach; faktyczna godzina startu zależy od konfiguracji serwera, a przy przejściu na czas letni lub zimowy uruchomienie może się przesunąć albo powtórzyć.
  • Nie wykrywa dat nieistniejących — wpis z dniem miesiąca 30 lub 31 w lutym po prostu się nie uruchomi w tym miesiącu, a generator tego nie sygnalizuje.
  • Nie obsługuje rozszerzeń innych implementacji — pole sekund, znaki ? L W # znane z Quartza czy składnia timerów systemd mają inne znaczenie niż klasyczny crontab i nie są tu odwzorowane.

Najczęstsze pytania

Czym różni się */5 od 0,5,10,15,...?

Są równoważne — */5 to skrócony zapis co 5 minut w całym zakresie pola, natomiast lista 0,5,10,...,55 jest jej rozwinięciem. */5 jest czytelniejszy i zalecany.

Czy numer 7 dnia tygodnia to niedziela?

Tak — wartości 0 i 7 obie oznaczają niedzielę. Poniedziałek to 1, wtorek 2, ..., sobota 6.

Jak uruchamiać skrypty PHP przez cron?

Użyj pełnej ścieżki do interpretera PHP, np.:
*/10 * * * * /usr/bin/php /var/www/html/artisan schedule:run >> /var/log/cron.log 2>&1
Przekierowanie 2>&1 zapisuje zarówno stdout, jak i stderr do pliku logu.

Czy mogę użyć nazw miesięcy i dni?

Tak — zamiast cyfr można użyć skrótów angielskich: JAN, FEB, ..., DEC dla miesięcy oraz SUN, MON, TUE, WED, THU, FRI, SAT dla dni tygodnia. Np. 0 9 * * MON-FRI = każdy dzień roboczy o 9:00.

Jak sprawdzić, czy cron działa poprawnie?

Sprawdź logi: grep CRON /var/log/syslog (Debian/Ubuntu) lub cat /var/log/cron (RHEL/CentOS). Jeśli zadanie nie jest widoczne, upewnij się, że usługa crond jest uruchomiona: systemctl status cron.

Czym się różni cron od crontab?

cron to demon systemowy, który co minutę sprawdza harmonogramy i uruchamia zadania. crontab to plik z listą tych harmonogramów przypisany do konkretnego użytkownika oraz polecenie służące do jego edycji.

Jak ustawić zadanie co 5 minut?

Użyj zapisu */5 w polu minuta, czyli */5 * * * *. Wartość n oznacza krok, więc cron wykona zadanie w minutach 0, 5, 10 i kolejnych.

Czy cron obsługuje sekundy?

Klasyczny crontab nie ma pola sekund — najmniejszą jednostką jest minuta. Jeśli potrzebujesz uruchomień co kilka sekund, zastosuj pętlę w skrypcie, timer systemd albo inne narzędzie.

Dlaczego wpis 0 0 31 * * nie uruchamia się co miesiąc?

Ponieważ nie każdy miesiąc ma 31 dni. W krótszych miesiącach warunek dnia miesiąca nie zostaje spełniony i zadanie jest pomijane.

Jak zaplanować zadanie na dwie godziny, na przykład 8:00 i 20:00?

W polu godzina wpisz listę rozdzieloną przecinkami: 0 8,20 * * *. Cron uruchomi komendę w obu tych godzinach, bo lista przepuszcza każdą z podanych wartości.

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