Per gestire correttamente un server, è fondamentale saper schedulare un'operazione nel tempo, e per questo è indispensabile conoscere Cron e il crontab.
Uno scenario classico è quello, ad esempio, del backup automatico di alcuni dati, backup che magari deve essere eseguito più volte durante la giornata, ad intervalli regolari. E' proprio questo il concetto di Crontab, tramite il quale possiamo appunto programmare un'operazione ciclica in modo del tutto automatico.
Cron è un demone che viene caricato in memoria all'avvio, e che ciclicamente va a leggere i propri files di configurazione alla ricerca di operazioni schedulate. In altre parole, basta aggiungere il proprio job (la propria azione) ad uno di questi files, e automaticamente questo verrà eseguito nel giorno e all'ora stabiliti.
Il comando da lanciare è semplicemente crontab:
crontab [-u Utente] -l -e -r file
Iniziamo col vedere le opzioni principali:
- -u Specifica a quale utente ci riferiamo
- -l Visualizza tutti i crontab impostati
- -e Edita il crontab dell'utente
- -r Cancella il crontab dell'utente
- file Inserisce il contenuto del file specificato nel crontab dell'utente specificato
Se non si specifica un utente, allora verrà considerato il crontab relativo all'utente che lancia il comando; l'editing avviene, come detto, tramite il comando:
crontab -e
Che aprirà il relativo file con l'editor predefinito. A questo punto, l'uso è piuttosto semplice, ad esempio si può inserire una riga del tipo:
00 15 * * * utente /percorso/comando_da_eseguire
Questo significa che il comando verrà eseguito ogni giorno alle ore 15:00 dall'utente utente. Spieghiamo meglio i sette campi che compongono questa riga:
Altro esempio:
00 */3 * * * /percorso/comando_da_eseguire
Questa riga non fa altro che schedulare un'operazione ogni giorno dell'anno, ogni tre ore.
Semplice no? Ovviamente un maggior dettaglio di informazioni è ottenibile dalla man page di crontab.
Alla prossima..