Generator cron
Wyrażenia cron planują powtarzające się zadania: backupy o 2:00, raporty w każdy poniedziałek, purge cache co godzinę. Pięć (lub sześć z sekundami) pól jak 0 9 * * 1-5 oznacza 09:00 w dni robocze. Buduj wyrażenia wizualnie zamiast zapamiętywać kolejność pól.
Minuta
Godzina
Dzień miesiąca
Miesiąc
Dzień tygodnia
Wynik
0 9 * * 1-5
Jak zbudować wyrażenie cron
1. Wybierz harmonogram: minuta, godzina, dzień miesiąca, miesiąc, dzień tygodnia.
2. Odczytaj wygenerowane wyrażenie np. 0 30 8 * * *.
3. Zweryfikuj opis naturalny — czy pasuje do intencji.
4. Skopiuj do crontab, Kubernetes CronJob lub schedule GitHub Actions.
Przykłady harmonogramów cron
Codziennie o 8:30
0 30 8 * * * w sześciopolowym Quartz; 30 8 * * * w standardowym pięciopolowym cron.
Co 15 minut
*/15 * * * * uruchamia o :00, :15, :30, :45 każdej godziny.
Pierwszy dzień miesiąca o północy
0 0 1 * * uruchamia miesięczne zadanie billing.
Kiedy generator cron pomaga
• Gdy unikasz błędów off-by-one w kolejności pól.
• Gdy dokumentujesz harmonogram dla runbooków ops.
• Gdy porównujesz składnię Linux cron vs AWS EventBridge.
Różnice dialektów
• Gdy scheduler używa niestandardowej składni — sprawdź docs providera chmury.
• Gdy liczy się strefa czasowa — cron często UTC na serwerach; konwertuj explicite.
• Gdy potrzebujesz harmonogramu sub-minutowego — użyj timerów interval, nie klasycznego cron.
Mnemotechnika kolejności pól
Minuta Godzina Dzień Miesiąc DzieńTygodnia — lub dodaj Sekundy na początku dla Quartz. Najpierw opis, potem mapowanie na pola.
Overlap z ludzkimi harmonogramami
„Każdy dzień roboczy rano” to 0 9 * * 1-5 — daylight saving przesuwa lokalny wall clock, jeśli serwer TZ obserwuje DST.
Kubernetes CronJob
Pole schedule używa standardowego cron; concurrencyPolicy Forbid unika nakładających się backupów.
Najczęstsze pytania
Pięć vs sześć pól?
Klasyczny cron: minuta godzina dom miesiąc dow. Niektóre dodają sekundy na początku.
Dzień miesiąca vs dzień tygodnia?
Oba podane często znaczą OR w Vixie cron — mylące — ustaw jedno pole jako *.
Strefa czasowa?
Lokalna serwera lub UTC — Kubernetes CronJob spec.timeZone w nowszych wersjach.
Znaczenie */2?
Co 2 jednostki danego pola — */2 w godzinie co dwie godziny.
Lokalne narzędzie?
Tak — wyrażenie budowane w przeglądarce.
Test następnych uruchomień?
Użyj croniter lub konsoli providera, by wypisać następne N fire times.