Jak budować wyrażenia cron

· 4 min czytania

Wyrażenia cron to standardowy sposób definiowania powtarzających się harmonogramów w Linuxie, platformach chmurowych, potokach CI/CD i harmonogramach zadań. Składnia jest kompaktowa, ale mało intuicyjna — wizualny generator pokazuje Ci dokładnie, kiedy Twoje zadanie się uruchomi.

Składnia cron

Wyrażenie cron ma 5 pól:

┌───────────── minuta (0-59)
│ ┌───────────── godzina (0-23)
│ │ ┌───────────── dzień miesiąca (1-31)
│ │ │ ┌───────────── miesiąc (1-12)
│ │ │ │ ┌───────────── dzień tygodnia (0-6, niedziela=0)
│ │ │ │ │
* * * * *

Częste harmonogramy cron

Harmonogram Wyrażenie Znaczenie
Co minutę * * * * * Uruchamia się co 60 sekund
Co 5 minut */5 * * * * O :00, :05, :10, :15...
Co godzinę 0 * * * * Na początku każdej godziny
Codziennie o północy 0 0 * * * Raz dziennie o 00:00
Codziennie o 9 0 9 * * * Raz dziennie o 09:00
W każdy poniedziałek o 8 0 8 * * 1 Tygodniowo w poniedziałki
Pierwszego każdego miesiąca 0 0 1 * * Miesięcznie o północy 1.
Dni robocze o 18 0 18 * * 1-5 Od poniedziałku do piątku

Jak zbudować wyrażenie cron

  1. Zdefiniuj swój harmonogram — użyj wizualnych kontrolek, aby wybrać wartości minuty, godziny, dnia, miesiąca i dnia tygodnia. Lub zacznij od gotowego ustawienia jak „co godzinę” lub „codziennie o północy”.
  2. Podejrzyj uruchomienia — generator wyświetla 5 kolejnych uruchomień, aby zweryfikować, że harmonogram jest poprawny.
  3. Skopiuj wyrażenie — wklej je do swojego crontab, konfiguracji CI/CD lub harmonogramu chmurowego.

Znaki specjalne

Znak Znaczenie Przykład
* Każda wartość * * * * * = co minutę
*/n Co n */15 * * * * = co 15 min
, Wiele wartości 0 8,12,18 * * * = 8, 12, 18
- Zakres 0 9-17 * * * = co godzinę od 9 do 17

Wskazówki

Najczęściej zadawane pytania

Jaki jest format wyrażenia cron?

Standardowe wyrażenie cron ma 5 pól oddzielonych spacjami, reprezentujących minutę (0-59), godzinę (0-23), dzień miesiąca (1-31), miesiąc (1-12) i dzień tygodnia (0-6, gdzie 0 to niedziela). Gwiazdka (*) oznacza „każdą” wartość dla tego pola.

Co oznacza */5 w cron?

Składnia */5 oznacza „co 5”. W polu minut */5 oznacza co 5 minut (0, 5, 10, 15...). W polu godzin */5 oznacza co 5 godzin. Działa to w dowolnym polu.

Czy wyrażenia cron są identyczne na wszystkich platformach?

Format 5-polowy jest standardowy w Linux cron, AWS EventBridge, GitHub Actions i większości systemów planowania. Niektóre platformy dodają 6. pole dla sekund lub roku. Skonsultuj dokumentację swojej platformy.

Jak zaplanować na ostatni dzień każdego miesiąca?

Standardowy cron nie ma słowa kluczowego „ostatni dzień”. Użyj obejścia, takiego jak codzienne uruchomienie ze sprawdzeniem daty w skrypcie, lub użyj rozszerzeń specyficznych dla platformy (AWS EventBridge obsługuje L dla „last”).