Preferenze cookie
Usiamo cookie per l'analisi. Informativa sulla privacy Puoi accettare o rifiutare il tracciamento non essenziale.
Guida pratica su "Pianificazione cron sicura per fuso orario senza lavori persi": passaggi chiave, errori comuni e implementazione con Validatore Cron.
Vai allo strumento
Valida espressioni cron, mostra prossime esecuzioni e breakdown.
Le espressioni cron non hanno un campo fuso orario. Vengono eseguite nel fuso orario del server (o dello scheduler) impostato -- di solito UTC. Ciò causa incidenti di produzione reali quando gli sviluppatori presumono l'ora locale.
Vuoi un report giornaliero alle 9:00 AM New York time. Scrivi:
0 9 * * *Ma il server esegue UTC. Ciò si attiva alle 9:00 AM UTC = 4:00 AM EST (inverno) o 5:00 AM EDT (estate). Il tuo report arriva prima che qualcuno sia sveglio e l'ora si sposta con DST.
L'ora legale crea due modalità di errore specifiche:
Avanzamento primaverile (2:00 AM → 3:00 AM): Un lavoro pianificato a 0 2 * * * non viene mai eseguito quella notte. L'ora 2:00 AM non esiste.
Ritiro autunnale (2:00 AM → 1:00 AM): Un lavoro pianificato a 0 1 * * * viene eseguito due volte. L'ora 1:00 AM accade due volte.
Ciò interessa gli Stati Uniti, l'UE e ~70 altri paesi. Se il tuo lavoro cron è idempotente, le doppie esecuzioni sono innocue. Se invia email o addebita carte di credito -- hai un problema.
La soluzione più semplice: impostare tutte le espressioni cron in UTC e convertire per la visualizzazione.
# 9:00 AM ET = 14:00 UTC (durante EST) o 13:00 UTC (durante EDT)
# Scegli uno e accetta un drift di 1 ora, o mantieni due espressioni
0 14 * * *# timer systemd
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# BUONO
CRON_TZ=America/New_York
CRON_TZ=Europe/Berlin
# CATTIVO -- non gestisce DST
CRON_TZ=EST # sempre -5, ignora EDT
CRON_TZ=UTC-5 # stesso problemaSe non puoi utilizzare CRON_TZ, pianifica lavori al di fuori della finestra di transizione DST (1:00-3:00 AM locale). Lavori alle 4:00 AM locali o successivi sono sicuri.
Incolla la tua espressione cron nel Cron Validator per vedere i prossimi 5-10 tempi di attivazione e conferma che si allineino con le tue aspettative. Controlla sia le date di gennaio (ora standard) che di luglio (ora legale).
Questo articolo viene revisionato dalla redazione di Tools Hub per garantire accuratezza, rilevanza pratica e coerenza con i flussi di prodotto attuali.
Ultima revisione:
Costruttore Cron AI converte descrizioni di orari in espressioni cron corrette con spiegazione leggibile.
Guida pratica su "Regex AI Assistant per flussi di lavoro di pulizia dei dati CRM": passaggi chiave, errori comuni e implementazione con Tester Regex.
Guida pratica su "Fogli Google ARRAYFORMULA per colonne automatizzate": passaggi chiave, errori comuni e implementazione con AI Formule Excel.
Guida pratica su "Playbook per la pulizia dei dati Regex per importazioni CRM e CSV": passaggi chiave, errori comuni e implementazione con AI Builder Regex.