Successivo
Cos’è e come si usa Cron

OS

Cos’è e come si usa Cron

Dario Orlandi | 29 Maggio 2020

Linux

Gli utenti di Linux possono contare su Cron, un potentissimo sistema di pianificazione. Nonostante sia spesso configurato tramite terminale risulta molto intuitivo e rapido. Ecco come si usa.

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.

Per modificare le pianificazioni di Cron, denominate job, basta utilizzare il comando crontab -e. Al primo avvio, il sistema chiederà quale editor utilizzare per aprire il file.

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
La sintassi è di Cron semplice: ogni riga indica un comando (o uno script) da eseguire, nel formato minuto ora giorno_del_mese 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