Generator wyrażeń Cron

Ustaw minuty, godziny, dni i miesiące – generator pokaże wyrażenie cron i opisze je po polsku. Możesz też wybrać gotowy preset.

* * * * *

Co minutę, co godzinę

Czym jest cron?

Cron to systemowy harmonogram zadań w systemach Unix/Linux, który pozwala automatycznie uruchamiać polecenia lub skrypty o określonych porach. Nazwa pochodzi od greckiego chronos (czas).

Składnia wyrażenia cron (5 pól)

┌───────── minuta (0-59)
│ ┌─────── godzina (0-23)
│ │ ┌───── dzień miesiąca (1-31)
│ │ │ ┌─── miesiąc (1-12)
│ │ │ │ ┌─ dzień tygodnia (0-7, gdzie 0 i 7 = niedziela)
│ │ │ │ │
* * * * * polecenie
PoleZakresDozwolone znaki specjalne
Minuta0–59* , - /
Godzina0–23* , - /
Dzień miesiąca1–31* , - /
Miesiąc1–12* , - /
Dzień tygodnia0–7* , - /

Znaki specjalne

ZnakZnaczeniePrzykład
*Dowolna wartość* * * * * = co minutę
,Lista wartości1,15,30 = w 1., 15. i 30. minucie
-Zakres9-17 = od 9 do 17
/Krok (co ile)*/5 = co 5 minut

Popularne przykłady wyrażeń cron

WyrażenieOpis
0 * * * *Co godzinę (o pełnej)
*/15 * * * *Co 15 minut
0 9 * * 1-5Pon-Pt o 9:00
0 0 * * *Codziennie o północy
0 0 1 * *Pierwszego dnia miesiąca
0 3 * * 0Niedziela o 3:00
30 8 * * 1Poniedziałek o 8:30
0 */2 * * *Co 2 godziny
0 9-17 * * 1-5Co godzinę w dni robocze (9-17)
0 0 1 1 *1 stycznia o północy

Polecenia zarządzania crontab

crontab -e    # Edytuj harmonogram bieżącego użytkownika
crontab -l    # Wyświetl aktualny harmonogram
crontab -r    # Usuń cały harmonogram (uwaga!)
crontab -u user -e  # Edytuj harmonogram innego użytkownika (root)

Typowe zadania automatyzowane przez cron

  • Backup bazy danych0 2 * * * /scripts/backup-db.sh
  • Czyszczenie logów0 4 * * 0 find /var/log -mtime +30 -delete
  • Odnawianie certyfikatów SSL0 3 1 * * certbot renew
  • Generowanie raportów0 8 * * 1 /scripts/weekly-report.sh
  • Monitoring dostępności*/5 * * * * /scripts/healthcheck.sh

Ważne uwagi

Strefa czasowa

  • Cron domyślnie używa strefy czasowej serwera
  • W crontab można ustawić: CRON_TZ=Europe/Warsaw
  • Uwaga na zmianę czasu (lato/zima) – zadanie może się wykonać 2 razy lub wcale

Zmienne środowiskowe

  • Cron uruchamia zadania z minimalnym środowiskiem
  • Używaj pełnych ścieżek do programów (/usr/bin/python3)
  • Lub definiuj PATH na początku crontab: PATH=/usr/local/bin:/usr/bin

Logowanie

  • Przekieruj wyjście: 0 * * * * /script.sh >> /var/log/cron.log 2>&1
  • Domyślnie cron wysyła e-mail z wyjściem (jeśli skonfigurowano MTA)

Alternatywy dla crona

NarzędzieSystemZalety
systemd timersLinuxLepsza kontrola, zależności, logi
Task SchedulerWindowsGUI, wyzwalacze zdarzeń
Celery BeatPythonRozproszone, dynamiczne harmonogramy
GitHub Actions (cron)CI/CDschedule z wyrażeniem cron
Cloud SchedulerGCP/AWSServerless, skalowalne

Jeśli ten kalkulator był przydatny, sprawdź również: JSON, .htpasswd, CV i więcej kalkulatorów.

Kalkulator zawiera walidację danych wejściowych i działa lokalnie w przeglądarce. Dzięki temu możesz szybko porównać różne scenariusze bez przesyłania danych na serwer.

croncrontabgenerator cronwyrażenie cronharmonogram zadańcron online

Najczęstsze pytania (FAQ)

Co to jest cron?

Cron to program w systemach Unix/Linux do planowania cyklicznych zadań (np. backup co noc, czyszczenie logów co tydzień). Zadania definiuje się wyrażeniami 5-polowymi.

Co oznacza * w cronie?

Gwiazdka (*) oznacza 'każdy' - np. * w polu godziny = każda godzina. */5 w polu minut = co 5 minut. 1-5 w dniu tygodnia = poniedziałek-piątek.

Jak edytować crontab?

Komenda: crontab -e (edycja), crontab -l (lista zadań), crontab -r (usuń wszystkie). Każda linia to: wyrażenie_cron polecenie_do_wykonania.