Spiegazione delle espressioni cron
Scrivi una riga di crontab per vedere cosa significa ogni campo e quando verrà eseguito il job le prossime 10 volte, nella tua ora locale.
Che cos'è cron?
cron è lo scheduler di Linux e Unix: esegue comandi automaticamente nelle date e negli orari indicati. Ogni utente ha il suo crontab (si modifica con crontab -e), in cui ogni riga contiene un'espressione di cinque campi seguita dal comando, ad esempio 0 3 * * * /home/utente/backup.sh per fare un backup ogni giorno alle 3:00.
La stessa sintassi è usata da molti altri strumenti: attività pianificate di Plesk e cPanel, GitHub Actions, Kubernetes CronJob e gli scheduler di Laravel e Symfony.
Sintassi dei campi
I campi sono, nell'ordine: 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; 0 e 7 sono domenica). Un * significa «qualsiasi», 1,15 è un elenco, 1-5 un intervallo e */10 «ogni 10». Ad esempio, 30 8 * * 1-5 significa «alle 8:30 dal lunedì al venerdì».
Attenzione: se si limitano sia il giorno del mese sia il giorno della settimana, cron esegue il job quando è soddisfatto uno qualsiasi dei due, non entrambi.
Scorciatoie @
@hourly (ogni ora), @daily o @midnight (ogni giorno alle 0:00), @weekly (la domenica alle 0:00), @monthly (il giorno 1 di ogni mese), @yearly o @annually (il 1° gennaio) e @reboot (all'avvio del sistema).