tigtools

Interprete di espressioni cron

Inserisci una pianificazione cron a 5 campi per scoprirne il significato e vedere quando avverrà la prossima esecuzione. Tutti i calcoli vengono eseguiti nel browser.

Funziona nel browser Nessuna registrazione

Cinque campi: minuto, ora, giorno del mese, mese, giorno della settimana. Sono supportate anche macro come @daily.

Pianificazioni comuni

Significato

Ogni 15 minuti, tra le 09:00 e le 17:59, di da lunedì a venerdì.

Campi

Minuto
*/15
Ora
9-17
Giorno del mese
*
Mese
*
Giorno della settimana
1-5
Fuso orario

Prossime 10 esecuzioni

    Come si usa

    1. Digita o incolla un’espressione cron oppure scegli una delle pianificazioni più comuni.
    2. Leggi il significato in linguaggio semplice. Per i campi non validi viene indicato il motivo.
    3. Controlla i prossimi 10 orari di esecuzione, mostrati nel tuo fuso orario locale. Passa a UTC se il tuo server usa UTC.
    4. Copia gli orari di esecuzione per condividerli oppure modifica l’espressione finché la pianificazione non corrisponde alle tue esigenze.

    Come funziona

    Un’espressione cron standard, come quella usata da crontab su Linux (Vixie cron e cronie) e da molti scheduler di CI e hosting, ha cinque campi separati da spazi: minuto (0–59), ora (0–23), giorno del mese (1–31), mese (1–12 o JAN–DEC) e giorno della settimana (0–7 o SUN–SAT, dove sia 0 sia 7 indicano la domenica). Ogni campo accetta * per indicare tutti i valori, un singolo valore, un intervallo come 1-5, un elenco come 1,15,30 e un passo come */15 (ogni 15 valori) o 9-17/2 (ogni due ore dalle 9 alle 17). I nomi non distinguono tra maiuscole e minuscole. Le abbreviazioni @yearly (o @annually), @monthly, @weekly, @daily (o @midnight) e @hourly corrispondono a 0 0 1 1 *, 0 0 1 * *, 0 0 * * 0, 0 0 * * * e 0 * * * *.

    I campi giorno del mese e giorno della settimana seguono una regola che sorprende molte persone. Se uno dei due campi inizia con *, il giorno deve soddisfare entrambi i campi. Se entrambi i campi sono limitati, un giorno corrisponde quando soddisfa l’uno o l’altro: 0 0 13 * 5 viene eseguito il 13 di ogni mese e anche ogni venerdì, non solo venerdì 13. Poiché si verifica se il campo inizia con *, anche un passo come */2 è considerato non limitato. Questo comportamento corrisponde a Vixie cron e cronie; alcuni altri scheduler funzionano diversamente.

    Gli orari delle prossime esecuzioni vengono calcolati nel fuso orario del browser oppure in UTC, usato dalla maggior parte dei server e degli scheduler cloud. Cron utilizza il fuso orario della macchina su cui viene eseguito. In corrispondenza dei cambi dell’ora legale, i daemon cron reali possono comportarsi diversamente; questo strumento omette gli orari locali inesistenti quando l’orologio avanza e mostra una sola volta l’ora ripetuta. Le sintassi estese non sono supportate: espressioni Quartz a sei o sette campi con secondi o anni e i caratteri speciali ?, L, W e #.

    Esempi

    Controllo dello stato durante l’orario di lavoro

    */15 9-17 * * 1-5 indica ogni 15 minuti tra le 09:00 e le 17:59, dal lunedì al venerdì. L’ultima esecuzione di ogni giorno è alle 17:45.

    Backup notturno

    30 2 * * * viene eseguito ogni giorno alle 02:30. Se il server usa UTC e ti trovi a New York, l’elenco delle prossime esecuzioni in modalità UTC mostra gli orari effettivamente usati dal server.

    La trappola dei campi del giorno

    0 9 1 * 1 sembra significare “alle 9:00 il primo del mese, se è lunedì”, ma viene eseguito alle 09:00 il primo di ogni mese e anche ogni lunedì. Per eseguirlo solo il primo lunedì, imposta 0 9 1-7 * * e controlla il giorno della settimana nello script.

    Domande frequenti

    Che cosa significa */5 in cron?

    Indica ogni quinto valore del campo, a partire dal valore più basso. Nel campo dei minuti, */5 viene eseguito ai minuti 0, 5, 10 … 55. Nel campo delle ore, */5 viene eseguito alle 0, 5, 10, 15 e 20, quindi l’intervallo dalle 20:00 a mezzanotte è di quattro ore, non cinque.

    Perché il mio job viene eseguito più giorni di quanto previsto?

    Quando i campi giorno del mese e giorno della settimana sono entrambi limitati, cron viene eseguito nei giorni che corrispondono all’uno o all’altro. Per esempio, 0 0 15 * 1 viene eseguito il 15 e ogni lunedì. Imposta uno dei due campi su * per richiedere solo la corrispondenza con l’altro.

    Quale fuso orario usa cron?

    Il fuso orario di sistema del server che esegue il daemon cron, a meno che crontab non imposti CRON_TZ o TZ (supportati da cronie). Gli scheduler cloud spesso usano UTC come impostazione predefinita. Usa l’opzione UTC per vedere gli orari che userebbe un server UTC.

    Posso usare i secondi o un campo per l’anno?

    Non in cron standard, che ha una risoluzione di un minuto e cinque campi. I formati a sei e sette campi con secondi e anni appartengono a Quartz, Spring e librerie simili e non sono supportati da questo strumento.

    La domenica è 0 o 7?

    Entrambi. Nel campo del giorno della settimana, 0 e 7 indicano entrambi la domenica, 1 il lunedì e 6 il sabato. Puoi anche usare i nomi di tre lettere da SUN a SAT.

    Privacy

    L’espressione viene analizzata e gli orari di esecuzione vengono calcolati nel browser. Ciò che inserisci non viene caricato, salvato né incluso nelle statistiche.