Słownik · Rodzaje monitorowania

Czym jest wyrażenie cron?

Wyrażenie cron to harmonogram zapisany w pięciu polach (minuta, godzina, dzień miesiąca, miesiąc i dzień tygodnia), który mówi cronowi lub innemu harmonogramowi zadań, kiedy uruchomić zadanie. 0 3 * * * oznacza codziennie o 03:00.

Jak to działa i dlaczego to ważne

Każde pole przyjmuje liczbę, * dla każdej wartości, listę (1,15), zakres (1-5) lub krok (*/15). Miesiące i dni tygodnia można też zapisać nazwami, np. JAN lub MON; niedziela to 0, a większość implementacji akceptuje też 7. Skróty takie jak @daily i @hourly oznaczają popularne harmonogramy.

Dwie zasady zaskakują ludzi. Gdy ustawiony jest zarówno dzień miesiąca, jak i dzień tygodnia, zadanie uruchamia się, gdy pasuje którykolwiek z nich, a nie oba: 0 9 1 * 1 uruchamia się 1. dnia miesiąca i w każdy poniedziałek. Ponadto cron działa w strefie czasowej systemu, więc zadanie o 02:30 może zostać pominięte lub uruchomione dwa razy przy zmianie czasu, zależnie od implementacji.

Niektóre harmonogramy dodają szóste pole dla sekund lub roku albo znaki takie jak L i ?, jak Quartz i AWS EventBridge. Nie należą one do standardowego crontaba, więc sprawdź, jakiej składni oczekuje dane narzędzie. Harmonogram mówi tylko, kiedy zadanie powinno się uruchomić; monitorowanie heartbeat powie Ci, czy faktycznie się uruchomiło.

Przykład

# ┌ minute (0–59)
# │ ┌ hour (0–23)
# │ │ ┌ day of the month (1–31)
# │ │ │ ┌ month (1–12 or JAN–DEC)
# │ │ │ │ ┌ day of the week (0–7 or SUN–SAT; 0 and 7 are Sunday)
# │ │ │ │ │
*/15 * * * *    every 15 minutes
0 9 * * 1-5     09:00 Monday to Friday
0 3 1 * *       03:00 on the 1st of every month

Jak pomaga Uptimecheck

Monitory zadań cron w Uptimecheck przyjmują harmonogram crontab – pięć pól albo @hourly, @daily, @weekly, @monthly lub @yearly – w wybranej strefie czasowej i odczytują go tak jak cron, z dniem miesiąca albo dniem tygodnia. Formularz pokazuje harmonogram prostym językiem wraz z trzema najbliższymi uruchomieniami, a ping, który nie dotrze do zaplanowanej godziny plus okres tolerancji, liczy się jako pominięte uruchomienie. Darmowe narzędzie do objaśniania wyrażeń cron odczytuje je tak samo.

Zobacz: Monitorowanie zadań cron

14 dni za darmo · Potem 5 monitorów gratis · Bez karty kredytowej

Więcej w poradnikach

Guides 8 min czytania

Wyrażenia cron w praktyce: składnia, przykłady i typowe błędy

Wyrażenie cron to pięć pól, które określają, kiedy uruchamia się zadanie. Składnia, znaki specjalne i skróty typu @daily, gotowe przykłady oraz błędy ze strefą czasową i PATH, przez które zadania przestają działać.

Czytaj

Guides 6 min czytania

Jak monitorować zadania cron za pomocą heartbeatów

Zadania cron zawodzą po cichu. Monitor heartbeat powiadomi Cię, gdy zaplanowane zadanie nie zgłosi się na czas. Jak działają heartbeaty, jak dodać je do crontaba i jakie ustawienia wybrać.

Czytaj

Pytania

Co oznacza */5 * * * *?

Co 5 minut: w minucie 0, 5, 10 itd. każdej godziny, każdego dnia.

Jak uruchamiać zadanie cron w każdy dzień roboczy o 9:00?

Użyj 0 9 * * 1-5: minuta 0, godzina 9, każdy dzień miesiąca, każdy miesiąc, od poniedziałku do piątku.

Jakiej strefy czasowej używa cron?

Strefa czasowa systemu, który je uruchamia, chyba że implementacja pozwala ją ustawić, np. przez CRON_TZ. Sprawdź ją, zanim zaplanujesz zadania w okolicach zmiany czasu.

Przestoje to przeszłość.

Skonfiguruj pierwszy monitor w niecałą minutę albo najpierw rozejrzyj się w demo na żywo.

14 dni za darmo · Potem 5 monitorów gratis · Bez karty kredytowej