Come programmare attività automatiche con cron su Linux
Sintassi, esempi pratici e l'errore più comune (percorsi relativi).
cron esegue comandi automaticamente nei momenti che tu definisci, senza che tu debba ricordarti di farlo manualmente.
crontab -e
Ogni riga segue questo formato:
# minuto ora giorno mese giorno-settimana comando
0 2 * * * /percorso/allo/script.sh
| Esempio | Significato |
|---|---|
0 2 * * * | Ogni giorno alle 2:00 |
*/15 * * * * | Ogni 15 minuti |
0 9 * * 1 | Ogni lunedì alle 9:00 |
0 0 1 * * | Il giorno 1 di ogni mese |
Consiglio: usa sempre il percorso completo dello script (non uno relativo) — cron non esegue le attività dalla tua cartella personale, quindi un percorso relativo che funziona bene manualmente può fallire silenziosamente dentro cron.
Vedere le tue attività programmate
crontab -l
Nota: se un'attività cron non sembra eseguirsi,
controlla il registro di sistema
(grep CRON /var/log/syslog) per confermare se è stata
davvero tentata e quale errore ha dato, se ne ha dato uno.
Domande frequenti
Perché il mio script funziona manualmente ma non da cron?
La causa più comune è usare un percorso relativo invece del percorso completo — cron non esegue le attività dalla tua cartella personale, quindi i percorsi relativi potrebbero non trovare i file di cui hanno bisogno.
Come controllo se un'attività cron è stata eseguita?
Controlla il registro di sistema con 'grep CRON /var/log/syslog' (o journalctl sui sistemi più moderni), che mostra se l'attività è stata tentata e qualsiasi errore associato.