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:

  1. mm Indica il minuto al quale eseguire l’operazione (da 00 a 59);
  2. hh Indica l’ora alla quale eseguire l’operazione (da 0 a 23);
  3. gg Indica il giorno in cui eseguire l’operazione all’ora specificata (inteso come giorno del mese, quindi da 0 a 31);
  4. MM Indica il mese dell’anno (da 1 a 12);
  5. GG Indica il giorno della settimana (da 0=domenica a 6=sabato);
  6. Utente Indica l’utente che deve eseguire l’operazione, può essere omesso;
  7. Operazione da eseguire.

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..

Share
Molto scarsoScarsoSufficienteBuonoOttimo (Nessun voto)
Loading...

Licenza

Creative Commons License
RedBlue's Blog di RedBlue è rilasciato sotto licenza Creative Commons 2.5 Italia.

Badges

Cionfs'Forum CMS Check PageRank

Other

Se hai trovato utile questo blog, supportalo con una piccola donazione per l'hosting..


Locations of visitors to this page