Cron ogni giorno a mezzanotte
È 0 0 * * *, nel fuso della macchina.
Gli esempi sostituiscono temporaneamente i dati e le impostazioni. Puoi ripristinare il lavoro precedente.
- cron
- • • • • •
• • • • •
•••••••••• •••••• ••••••
• •••••••• ••• ••••••
• • •••••• •••••• ••• •••• ••••••
• • • •••• •••• ••••••
• • • • •• •••••• ••••• ••••••••• ••••• •• •••••••• • •• • • •• ••••• ••••• • ••••••••
• • • • •
•• •••••• ••
•••••• •
••• •
•••••• ••• •••• •••••
•••• •••••
•••••• ••••• ••••••••• •••••
•••••••• •••••• •••••••••• •••• •• •••••••••••••••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••
•••••••••• ••••• •••I tuoi file restano sul tuo dispositivo
Questo strumento viene eseguito interamente nel tuo browser. Ciò che incolli viene elaborato sul tuo dispositivo e non viene mai inviato a un server, quindi puoi usarlo in sicurezza con token, chiavi e testi non pubblicati.
Esempio
Esempio: il backup notturno del gestionale, e quale mezzanotte è su un server UTC
Un negozio di Torino vuole il backup del database del gestionale una volta per notte, quando nessuno lavora. La pagina parte da «Ogni giorno a mezzanotte»: 0 0 * * *. Il server, come quasi tutti, gira in UTC. Sotto, altri modi di scrivere un job notturno, digitati nel campo con il menu su «Descrivila sotto», e l’espressione che ne è uscita.
- Leggi 0 0 * * * da sinistra: minuto 0, ora 0, ogni giorno del mese, ogni mese, ogni giorno della settimana.
- Su un server in UTC gira alla mezzanotte UTC. In Italia d’inverno è l’1:00; con l’ora legale, dal 29 marzo al 25 ottobre 2026, sono le 2:00.
- Per farlo girare alla mezzanotte italiana tutto l’anno, imposta nello scheduler il fuso Europe/Rome invece di cambiare l’espressione: 0 23 * * * va bene solo d’inverno, 0 22 * * * solo d’estate.
| Scritto in parole (in inglese) | Espressione | Su un server UTC, in Italia |
|---|---|---|
| every day at midnight | 0 0 * * * | 1:00 d’inverno, 2:00 d’estate |
| at 0:05 every day | 5 0 * * * | 1:05 d’inverno, 2:05 d’estate |
| every day at 11pm | 0 23 * * * | mezzanotte d’inverno, 1:00 d’estate |
| every day at 10pm | 0 22 * * * | 23:00 d’inverno, mezzanotte d’estate |
| every weekday at midnight | 0 0 * * 1-5 | da lunedì a venerdì |
| every day at midnight and noon | 0 0,12 * * * | due volte al giorno |
Per il backup va bene 0 0 * * * con lo scheduler sul fuso Europe/Rome. Mezzanotte è anche al riparo dal cambio dell’ora, che in Italia avviene tra le 2 e le 3 di notte: un job a mezzanotte non salta e non parte due volte. Uno alle 2:30 invece, nelle notti del cambio, cade in un’ora che manca o si ripete, e lì ogni scheduler si comporta a modo suo.
Come funziona
- L’espressione è già lì: 0 0 * * *. I cinque campi sotto sono minuto, ora, giorno del mese, mese e giorno della settimana, in quest’ordine.
- Copiala nel crontab, nella pianificazione della CI o nello scheduler in cloud. Gli stessi cinque campi significano la stessa cosa ovunque.
- Per cambiarla, rimetti il menu su «Descrivila sotto» e scrivi la pianificazione in inglese: «every 2 hours», «at 5pm on weekdays». Il campo non legge frasi in italiano; la rilettura invece è in italiano.
- Controlla la rilettura, non l’espressione. Quello che appare sotto viene dall’analisi di ciò che è stato costruito: è quel che ne farebbe una macchina, non quel che intendevamo.
Domande frequenti
- Mezzanotte dove?
- Sulla macchina che lo esegue, nel fuso orario impostato su quella macchina — che sulla maggior parte dei server e dei container è UTC e non il tuo. Se il job deve girare a mezzanotte locale, imposta il fuso nello scheduler, non nell’espressione: cron non ha un campo per questo.
- Funziona in GitHub Actions, Kubernetes e negli scheduler in cloud?
- I cinque campi sì. A cambiare è tutto il resto: alcuni accettano nomi come @daily, i CronJob di Kubernetes prendono gli stessi cinque, e GitHub Actions fa partire in ritardo le esecuzioni pianificate quando è sotto carico. Incolla l’espressione e verificala dove dovrà girare.
- Posso far leggere un’espressione che ho già?
- Sì, è l’analizzatore cron: incolli l’espressione e ottieni la spiegazione e le prossime esecuzioni. È lo stesso analizzatore che qui rilegge quanto è stato costruito.
- Che differenza c’è tra 0 0 * * * e @daily?
- Nessuna: @daily, come @midnight, è solo un altro nome per 0 0 * * *, e l’analizzatore cron lo espande proprio così. I cinque campi però funzionano ovunque, mentre i nomi con la @ non tutti gli scheduler li accettano.
- Come lo faccio girare a mezzanotte ora italiana su un server UTC?
- Dando allo scheduler il fuso Europe/Rome, se lo prevede, e lasciando 0 0 * * *. Spostare l’ora nell’espressione funziona solo per metà anno: 0 23 * * * è la mezzanotte italiana d’inverno, 0 22 * * * quella d’estate, e al cambio dell’ora il job slitta di un’ora.
- Viene inviato qualcosa?
- No. Si costruisce e si legge in questa pagina. Una pianificazione dice quando i tuoi sistemi fanno qualcosa: non serve che lo sappia un server altrui.