Zrozumienie wyrażeń cron: pisz harmonogramy jak programista
Wyrażenia Cron kontrolują uruchamianie zautomatyzowanych zadań na serwerach, platformach chmurowych i narzędziach do planowania — mimo to większość programistów ucieka się do kopiowania przykładów w nadziei, że zadziałają. Zrozumienie składni cron oznacza, że możesz śmiało napisać dowolny harmonogram od zera, szybciej debugować nieudane zadania i uniknąć kosztownych błędów, takich jak tworzenie kopii zapasowych, które nigdy nie są uruchamiane.
Czym są wyrażenia cron i dlaczego są ważne
Wyrażenie cron to zwarty ciąg pięciu lub sześciu pól, który informuje system dokładnie, kiedy wykonać zadanie. Jest to standardowy format na serwerach Unix, Linux, GitHub Actions, AWS EventBridge, Kubernetes i platformach CI/CD na całym świecie. Zamiast pisać prozą typu „uruchamiaj to w każdy wtorek o 2 w nocy”, piszesz 0 2 * * 2, a demon cron natychmiast go interpretuje. Nauka tej notacji — która pozostaje praktycznie niezmieniona od dziesięcioleci — to jednorazowa inwestycja, która zwraca się za każdym razem, gdy cokolwiek zaplanujesz.
Pięć pól i ich zakresy
Standardowy cron wykorzystuje pięć obowiązkowych pól oddzielonych spacjami. Przeczytaj je od lewej do prawej jako minuty, godziny, dzień miesiąca, miesiąc i dzień tygodnia:
Minute(0–59) — która minuta ma działaćHour(0–23) — która godzina dnia (zegar 24-godzinny)Day of month(1–31) — który dzień kalendarzowyMonth(1–12) — który miesiąc w rokuDay of week(0–7) — który dzień tygodnia, gdzie zarówno 0, jak i 7 oznaczają niedzielę
Każde pole przyjmuje określoną wartość, np. zakres 1-5, lista np 1,3,5lub symbol wieloznaczny * co oznacza „każdą wartość w tym polu”. Operator ukośnika dzieli zakresy: */15 w polu minut oznacza co 15 minut.
Typowe wzorce, które napiszesz
Większość rzeczywistych harmonogramów powtarza się tylko na kilka sposobów. W dni powszednie rano jest godzina 9:00 0 9 * * 1-5. Każda godzina jest 0 * * * *. Pierwszy dzień miesiąca o północy: 0 0 1 * *. Co 15 minut przez cały dzień: */15 * * * *. Raz dziennie w niedzielę o 2:30: 30 2 * * 0. Jeśli kiedykolwiek będziesz mieć pewność, czy Twoje wyrażenie jest poprawne, wklej je do pliku analizator cron , aby zobaczyć pięć kolejnych zaplanowanych uruchomień i przed wdrożeniem sprawdzić, czy odpowiadają one Twoim zamierzeniom.
Zbuduj własne wyrażenie cron
Zacznij od angielskiego, następnie przetłumacz na cron. Chcesz „9:30 w każdy dzień powszedni”? Oznacza to 30 minut i 9 godzin, w dowolnym dniu miesiąca, w dowolnym miesiącu, od poniedziałku do piątku. Pola stają się 30 9 * * 1-5. Dla „dwa razy dziennie o 7:00 i 18:00”: 0 7,18 * * * (przecinek oddziela godziny). 15-go w południe każdego miesiąca: 0 12 15 * *. Po napisaniu dowolnego wyrażenia zawsze przetestuj je za pomocą analizatora składni, aby wyłapać literówki przed wdrożeniem.
Zarządzaj strefami czasowymi i sprawdzaj dokładne czasy
Wyrażenia Cron zależą od serwera — działają w strefie czasowej systemu, a nie w lokalnej strefie czasowej. Aby zweryfikować znacznik czasu Uniksa lub zobaczyć, o której godzinie lokalnej uruchamia się cron w Twojej strefie, użyj metody konwerter znaczników czasu, który działa w Twojej przeglądarce i natychmiastowo obsługuje konwersję strefy czasowej, bez wysyłania danych gdziekolwiek.
Zamień swój harmonogram w wydarzenie w kalendarzu
Gdy już będziesz mieć solidne wyrażenie cron, udostępnij je lub dodaj do swojego kalendarza, aby zobaczyć, kiedy zadanie zostanie uruchomione. The generator ICS konwertuje datę początkową i regułę powtarzania na plik kalendarza, który można zaimportować do Kalendarza Apple, Kalendarza Google, Outlooka lub dowolnej standardowej aplikacji kalendarza. Alternatywnie utwórz plik direct Link do Kalendarza Google otwierający wydarzenie wstępnie wypełnione w Kalendarzu Google za pomocą jednego kliknięcia – bez pobierania i zarządzania plikami.
Twoje harmonogramy cron pozostają prywatne
Wszystkie wymienione tutaj narzędzia działają w Twojej przeglądarce; nic nie jest przesyłane na serwer. Analizowanie Cron, konwersja znaczników czasu, generowanie kalendarza i tworzenie łączy odbywa się na Twoim urządzeniu. Brak konta, brak śledzenia, a narzędzia działają w trybie offline po załadowaniu. Twoje harmonogramy i szczegóły automatyzacji pozostają wyłącznie Twoje.