crontab -eOra è possibile inserire i comandi di cui si vuole pianificare l'azione00 05 04 12 01 "comando"Cosa significa?- 00 sono i minuti
- 05 è l'ora di esecuzione (quindi avremo l'esecuzione (programmata per le 05.00 del mattino)
- 04 è il giorno
- 12 è il mese
- 01 è il giorno della settimana (i valori sono 0,1,2,3,4,5 e 6 con lo 0 che si riferisce alla Domenica)
- infine viene indicato il comando da eseguire
In questo esempio, quindi, si sta impartendo un comando per crontab per eseguire il lunedì 4 dicembre alle ore 05.00 (di ogni anno), un certo comando. Se si vuole impartire l'esecuzione del comando ogni mese oppure ogni giorno è sufficiente sostituire ai numeri un asterisco
00 08 * * 01 "comandoÈ utile ricordare alcune opzioni del crontab- crontab -l visualizzerà i crontab in funzione (utile per vedere se un comando è stato registrato correttamente)
- crontab -r rimuove tutti i crontab registrati
- crontab -d da non fare mai perché questo comando cancella i job programmati (anche del sistema)
- crontab -e permette di editare (scrivere o modificare) un crontab
cron si può configurare tramite il file crontab, come abbiamo visto ne esiste uno per ogni utente, con il quale può eseguire comandi su file di sua proprietà nel proprio user-space, ed è situato solitamente in
/var/spool/cron/crontabs/nomeutentePer completezza è utile sapere che esiste anche il file/etc/crontabnel quale sono presenti solitamente operazioni periodiche che riguardano globalmente il sistema. Di solito molte distribuzioni includono le directory
/etc/cron.daily
/etc/cron.monthly
/etc/cron.weekly
/etc/cron.hourlyche contengono gli script che si avvieranno rispettivamente ogni giorno, ogni mese, ogni settimana e ogni ora. Quindi basta posizionare i propri script dentro queste directory per programmarne l'esecuzione.Per il corretto funzionamento di crontab occorre assicurarsi che l'ora del sistema sia corretta. Il Network Time Protocol, in sigla NTP, è un protocollo per sincronizzare gli orologi dei computer all'interno di una rete a commutazione di pacchetto, quindi con tempi di latenza variabili ed inaffidabili.
L'NTP è un protocollo client-server appartenente al livello applicativo. Per sincronizzare manualmente l'orologio di sistema con quello di un server, da console, in modalità root, si può usare il comando
ntpdate ntp1.ien.itoppurentpdate ntp.ubuntu.com pool.ntp.orgUn esempio pratico dell'uso di cron è sincronizzare i dati tra due server Linux.