Salta al contenuto principale
Strumenti per Sviluppatori

Generatore di Cron Job

Costruisci espressioni cron visivamente, ottieni spiegazioni in italiano immediato e visualizza le prossime 5 esecuzioni - tutto nel tuo browser, nulla viene caricato.

* * * * * Valido
Esegue ogni minuto
Preset rapidi
Importa espressione: ⚠ Non valida - devono essere 5 campi separati da spazi
Esempi comuni
Espressione Descrizione
Prossimi 5 orari di esecuzione
Riferimento campi
min 0–59 · ogni minuto, minuto specifico o step
ora 0–23 · orologio 24 ore, 0 = mezzanotte, 12 = mezzogiorno
giorno 1–31 · giorno del mese. Non tutti i mesi hanno 31 giorni
mese 1–12 · Gennaio = 1 … Dicembre = 12
giorno sett 0–6 · Domenica = 0 … Sabato = 6

Simboli:  * qualsiasi  ·  */N ogni N  ·  N-M intervallo  ·  N,M lista
Uso in crontab

Esegui crontab -e nel tuo terminale per aprire l'editor cron. Incolla la tua espressione seguita dal comando:

*/15 * * * * /usr/bin/php /var/www/job.php

Elenca i job attivi con crontab -l

Costruttore visivo

5 schede campo interattive con modalità Qualsiasi, Valore, Ogni, Intervallo e Lista - nessuna memorizzazione della sintassi necessaria.

Italiano chiaro

Ogni espressione viene tradotta istantaneamente in una frase leggibile come "Esegue ogni giorno feriale alle 9:00".

Prossimi orari

Vedi i prossimi 5 orari di esecuzione calcolati direttamente nel tuo browser - con etichette di tempo relativo.

Importa e analizza

Incolla qualsiasi espressione cron esistente nella barra di importazione e viene caricata automaticamente nel costruttore visivo.

Cos'è un Cron Job?

Un cron job è un pianificatore di attività basato sul tempo integrato nei sistemi operativi Unix-like. Il nome deriva dalla parola greca per tempo, chronos. Cron ti permette di pianificare comandi o script per essere eseguiti automaticamente a orari, date o intervalli fissi - senza alcun intervento manuale. Gli usi comuni includono l'esecuzione di backup di database a mezzanotte, l'invio di report email il lunedì mattina, la cancellazione di file temporanei ogni ora o il controllo degli aggiornamenti su base settimanale.

Un'espressione cron consiste di cinque campi separati da spazi: minuto ora giorno-del-mese mese giorno-della-settimana. Ogni campo accetta un valore specifico, un carattere jolly (*), un intervallo (1-5), uno step (*/15), o una lista (1,15,30).

Domande frequenti

Esegui crontab -e nel tuo terminale. Questo apre l'editor cron (solitamente nano o vi). Ogni riga è un job: l'espressione cron seguita dal percorso completo del comando. Esempio - esegui uno script PHP ogni giorno alle 2 di notte:

0 2 * * * /usr/bin/php /var/www/html/backup.php

Salva ed esci. Usa crontab -l per elencare i job e crontab -r per rimuovere tutti i job.
La sintassi */N significa "ogni N unità, a partire dal valore minimo del campo". Quindi */5 nel campo minuto significa ogni 5 minuti - eseguendo a 0, 5, 10, 15… 55. */2 nel campo ora significa ogni 2 ore. Il * in */N significa "a partire da zero" - non significa un punto di partenza casuale.
Giorno del Mese (campo 3) specifica la data del calendario: 1 = 1º, 15 = 15º, 31 = ultimo giorno possibile. Giorno della Settimana (campo 5) specifica il giorno con nome: 0 = Domenica, 1 = Lunedì, 6 = Sabato.

Quando entrambi i campi sono impostati su qualcosa di diverso da *, la maggior parte delle implementazioni cron usa la logica OR - il job viene eseguito se una qualsiasi delle condizioni è vera. Questa è una fonte comune di confusione.
Usa l'intervallo 1-5 nel campo Giorno della Settimana (1 = Lunedì, 5 = Venerdì). Lascia Giorno del Mese come * per evitare la trappola della logica OR. Esempio - 9:00 ogni giorno feriale:

0 9 * * 1-5
L'intervallo minimo con cron standard è 1 minuto (* * * * *). Per pianificazioni sub-minuto, puoi eseguire il job due volte al minuto concatenando due comandi: il primo viene eseguito immediatamente, il secondo viene eseguito dopo un sleep 30. In alternativa usa timer systemd (Linux) o gestori di processi come Supervisor che supportano intervalli sub-minuto nativamente.
Cron standard usa il fuso orario di sistema del server. Se hai bisogno di un fuso orario specifico, impostalo nell'ambiente crontab: aggiungi CRON_TZ=Europe/Rome all'inizio del tuo file crontab. Pianificatori cloud come AWS EventBridge, Google Cloud Scheduler e il pianificatore di task di Laravel supportano tutti la configurazione del fuso orario per job.
Usa un lock basato su file nel tuo script. In PHP:

$fp = fopen('/tmp/myjob.lock', 'c');
if (!flock($fp, LOCK_EX | LOCK_NB)) exit(0);


Il lock viene rilasciato automaticamente quando lo script termina. Lo strumento da riga di comando Linux flock ottiene lo stesso risultato a livello di shell: flock -n /tmp/myjob.lock php job.php