Quando si deve programmare l’esecuzione di comandi, script e applicazioni specifiche in ambiente Windows si è costretti a ricorrere all’Utilità di pianificazione, uno strumento potente ma molto complesso da utilizzare, a causa di un’interfaccia mal strutturata e a una sovrabbondanza di funzioni. Gli utenti di Linux, invece, possono contare su Cron, un potentissimo sistema di pianificazione che, nonostante sia spesso configurato tramite terminale, risulta molto più intuitivo e rapido rispetto all’impostazione di Windows. Ecco come si usa.
Le pianificazioni di Cron sono denominate job e sono inserite in un semplice file di configurazione testuale (unico per ogni utente del sistema), che in genere è collocato in /var/spool/cron/crontabs. Ma la posizione esatta del file non è importante, perché per modificarlo basta utilizzare il comando crontab -e.
Alla prima apertura il crontab sarà molto probabilmente vuoto, se si esclude un’intestazione che illustra il funzionamento del sistema, sotto forma di commenti, ma la sua sintassi è semplicissima: ogni riga indica un job, nel formato seguente:
minuto ora giorno_del_mese giorno_della_settimana comando
Ogni elemento temporale può essere sostituito da un asterisco (*) come wildcard per indicare tutti i possibili valori: in altre parole, se la posizione giorno contiene un asterisco, il comando sarà eseguito ogni giorno. La riga seguente, per esempio, aggiunge un comando eseguito ogni giorno, alle otto e mezzo del mattino.
30 8 * * * comando
Crontab permette anche di impostare intervalli nel formato X-Y, per esempio il comando seguente è eseguito dal lunedì al venerdì ogni ora, dalle 9 alle 18.
0 9-18 * * 1-5 comando
Un’ulteriore convenzione utile è quella che permette di specificare ogni quanto tempo eseguire il comando, nel formato */X. Per esempio, il comando seguente è eseguito a giorni alterni, a mezzanotte.
0 0 */2 * * comando