Ustawienia cookies
Używamy cookies do analityki. Polityka prywatności Możesz zaakceptować lub odrzucić nieobowiązkowe śledzenie.
Praktyczny przewodnik po „Bezpieczne dla strefy czasowej planowanie Cron bez opuszczonych zadań”: kluczowe kroki, typowe błędy i wdrożenie z użyciem Walidator Crona.
Przejdź do narzędzia
Waliduj wyrażenia cron, kolejne uruchomienia i podział pól.
Wyrażenia cron nie posiadają pola czasu strefy. Uruchamiają się w czasie strefie serwera (lub scheduler) - zazwyczaj UTC. Powoduje to realne incydenty produkcyjne, gdy deweloperzy założą lokalny czas.
Chcesz otrzymać dzienny raport o godzinie 9:00 rano czasu Nowojorskiego. Piszesz:
0 9 * * *Ale serwer uruchamia się w czasie UTC. To uruchamia się o 9:00 rano UTC = 4:00 rano EST (zimowy) lub 5:00 rano EDT (letni). Twój raport przychodzi przed wczesnym poranem, a czas zmienia się wraz z DST.
Czas letni stwarza dwa specyficzne tryby błędów:
Wiosenne przesunięcie (2:00 rano → 3:00 rano): Zadanie zaplanowane na 0 2 * * * nie uruchamia się w tej nocy. Godzina 2:00 nie istnieje.
Zimowe przesunięcie (2:00 rano → 1:00 rano): Zadanie zaplanowane na 0 1 * * * uruchamia się dwukrotnie. Godzina 1:00 występuje dwukrotnie.
To dotyczy USA, UE i około 70 innych krajów. Jeśli Twoje zadanie cron jest idempotentne, podwójne uruchamianie jest bez szkody. Jeśli wysyła wiadomości e-mail lub nalicza kartę kredytową - masz problem.
Najprostsze rozwiązanie: ustaw wszystkie wyrażenia cron w czasie UTC i przekonwertuj na wyświetlanie.
# 9:00 rano ET = 14:00 UTC (podczas EST) lub 13:00 UTC (podczas EDT)
# Wybierz jedną i zaakceptuj 1-godzinny przesunięcie, lub utrzymuj dwa wyrażenia
0 14 * * *# systemd timer
CRON_TZ=America/New_York
0 9 * * *# Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: daily-report
spec:
schedule: "CRON_TZ=America/New_York 0 9 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: report
image: report-runner:latest# Dobre
CRON_TZ=America/New_York
CRON_TZ=Europe/Berlin
# Złe - nie obsługuje DST
CRON_TZ=EST # zawsze -5, ignoruje EDT
CRON_TZ=UTC-5 # ten sam problemJeśli nie możesz użyć CRON_TZ, zaplanuj zadania poza oknem przejścia DST (1:00-3:00 rano lokalne). Zadania o godzinie 4:00 rano lokalne lub późniejsze są bezpieczne.
Wklej swoje wyrażenie cron do Weryfikatora Cron i sprawdź, czy następne 5-10 uruchomienia są zgodne z Twoimi oczekiwaniami. Sprawdź oba styczeń (czas standardowy) i lipiec (czas letni) daty.
Ten artykuł jest weryfikowany przez zespół redakcyjny Tools Hub pod kątem dokładności, użyteczności praktycznej i zgodności z aktualnymi procesami produktu.
Ostatnia weryfikacja:
Konstruktor Cron AI zamienia opis harmonogramu w poprawne wyrażenie cron z czytelnym wyjaśnieniem.
Praktyczny przewodnik po „Regex AI Assistant dla przepływów pracy czyszczenia danych CRM”: kluczowe kroki, typowe błędy i wdrożenie z użyciem Tester Regex.
Praktyczny przewodnik po „Arkusze Google ARRAYFORMULA dla kolumn automatycznych”: kluczowe kroki, typowe błędy i wdrożenie z użyciem AI Formuł Excel.
Praktyczny przewodnik po „Poradnik czyszczenia danych Regex dla importów CRM i CSV”: kluczowe kroki, typowe błędy i wdrożenie z użyciem AI Kreator Regex.