Generatore di espressioni cron

Scrivi e leggi pianificazioni crontab. Inserisci un'espressione cron e vedi a parole quando viene eseguita, le prossime esecuzioni e che cosa significa ciascuno dei cinque campi.

Minuto
Ora
Giorno
Mese
Giorno della settimana

Ogni minuto.

Prossime esecuzioni


  •  
  •  
  •  
  •  
  •  

Gli orari sono mostrati nel fuso del tuo computer (). Cron usa quello del server, che spesso non è lo stesso.

Pianificazioni comuni


Scegline una per caricarla nel campo qui sopra.

* * * * *Ogni minuto
*/5 * * * *Ogni 5 minuti
*/15 * * * *Ogni 15 minuti
*/30 * * * *Ogni mezz'ora
0 * * * *Ogni ora
0 */2 * * *Ogni 2 ore
0 */6 * * *Ogni 6 ore
0 */12 * * *Due volte al giorno
0 0 * * *Tutti i giorni a mezzanotte
0 9 * * *Tutti i giorni alle 9 del mattino
0 9 * * 1-5Dal lunedì al venerdì alle 9
0 9 * * 6,0Sabato e domenica alle 9
0 0 * * 1Ogni lunedì a mezzanotte
0 18 * * 5Ogni venerdì alle 18
0 0 1 * *Primo giorno del mese
0 0 1 1 *Primo giorno dell'anno

Che cosa significa ogni campo


CampoValori ammessi
Minuto0 – 59
Ora0 – 23
Giorno del mese1 – 31
Mese1 – 12, JAN – DEC
Giorno della settimana0 – 6, SUN – SAT (0 = 7)

Caratteri speciali


CarattereSignificato
*qualsiasi valore
,separa i valori di un elenco
-un intervallo di valori
/passi all'interno di un intervallo

Scorciatoie


@yearly, @annually0 0 1 1 *
@monthly0 0 1 * *
@weekly0 0 * * 0
@daily, @midnight0 0 * * *
@hourly0 * * * *
@reboot

Non fanno parte del cron POSIX, ma quasi tutte le implementazioni le accettano.

Dove si sbaglia più spesso


  • Quando il giorno del mese e il giorno della settimana sono entrambi ristretti, cron viene eseguito nei giorni che corrispondono all'uno o all'altro, non a entrambi. "* * 3 * 1" viene eseguito il 3 del mese e ogni lunedì. L'eccezione è quando uno dei due inizia con un asterisco: "* * */2 * 1" viene eseguito solo in un giorno dispari che sia anche lunedì. La pagina di manuale su questo sbaglia.
  • Fai girare il server, e cron con lui, in UTC. Una pianificazione scritta in un fuso con ora legale salta un'esecuzione una volta all'anno e ne ripete una al cambio successivo.
  • Il cron standard non ha un campo per i secondi né per gli anni. Se ti serve quella precisione, cron è lo strumento sbagliato.
  • Evita @reboot. Dipende da come è stata riavviata la macchina e da quali servizi erano pronti in quel momento, il che rende difficile ragionarci sopra.
  • Una pianificazione che non sta in cinque campi si può dividere in due righe. Per eseguire qualcosa ogni 90 minuti, scrivi "0 */3 * * *" e "30 1/3 * * *" una accanto all'altra.
  • Scrivi il comando con percorsi assoluti. Cron gira con un PATH molto corto e quasi nessuna delle variabili d'ambiente della tua shell.

Domande frequenti sulle espressioni cron


Che cosa significano i cinque campi?
In quest'ordine: minuto, ora, giorno del mese, mese e giorno della settimana. Un campo con l'asterisco accetta qualsiasi valore.

La domenica è 0 o 7?
Entrambi. La maggior parte delle implementazioni accetta 0 e 7 per la domenica, e anche i nomi di tre lettere, da SUN a SAT.

Perché il mio lavoro non è partito all'ora che mi aspettavo?
Le ragioni solite sono il server in un altro fuso, la regola su giorno del mese e giorno della settimana descritta sopra, oppure il comando che fallisce perché cron non carica il profilo della tua shell.

Questa pagina manda la mia espressione da qualche parte?
No. L'espressione viene letta e le esecuzioni calcolate nel tuo browser; non viene inviato nulla.

Wikipedia — Cron
Wikipedia — Crontab
Wikipedia — Daemon