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.
| Espressione | Descrizione |
|---|
* qualsiasi ·
*/N ogni N ·
N-M intervallo ·
N,M lista
Esegui crontab -e nel tuo terminale per aprire l'editor cron. Incolla la tua espressione seguita dal comando:
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
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.phpSalva ed esci. Usa
crontab -l per elencare i job e crontab -r per rimuovere tutti i job.
*/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.
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.
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
* * * * *). 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_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.
$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