Sep 222011
 

Quelli che conoscono la mitologia greca sapranno senza dubbio la parola Crono , fu il padre degli dei dell’Olimpo greco. La parola Chrono significa tempo in greco e latino e quindi dalle due parole si ottengono parole comel cronometro e cronologia. Pertanto nel gergo informatico crontab significa qualcosa che si occupa del tempo.

Per farla breve Cron è un demone che esegue comandi programmati.



Il demone cron parte in fase di avvio del sistema Linux e di solito ha già alcuni lavori di manutenzione programmata configurati dall’installazione (rotazione dei log, controllo di alcuni programmi, ecc)
I lavori programmati con Cron sono largamente utilizzati per la manutenzione automatica e la gestione dei sistemi, è possibile trovare una tipologia di cron nella maggior parte dei sistemi UNIX e quindi anche su GNU/Linux.Crontab è il programma utilizzato per installare, disinstallare o elencare le tabelle utilizzate per guidare il demone cron. Ogni utente può avere il proprio crontab, e questi sono nei file in /var/spool/cron/crontab, non sono destinati ad essere modificati direttamente.

Sintassi ed utilizzo del Crontab

La configurazione di crontab è in un file di testo con un formato particolare, per modificarlo andare nel terminale e scrivete:

crontab -e

Modificare il file come si desidera e salvarlo.
È possibile controllare il crontab per l’utente corrente con il comando:

crontab -l

Questo è il formato utilzzato generalmente in crontab:

MIN ORE GDM MESE GDS CMD

Campo Descrizione Valori Permessi
MIN Minuti 0 a 59
ORE Ore 0 a 23
GDM Giorno Del Mese 0 a 31
MESE Mese 1 a 12
GDS Giorno della Settimana 0 a 6
CMD Comando Il comando da essere eseguito

Un campo può essere un asterisco (*), che significa per “dal primo all’ultimo valore”.

Intervalli di numeri sono ammessi. Gli intervalli sono due numeri separati da un trattino. L’intervallo specificato è compreso. Per esempio, 8-11 per una voce “ore” specifica l’esecuzione alle ore 8, 9, 10 e 11.

Le liste sono ammesse. Una lista è un insieme di numeri (o intervalli) separati da virgole. Esempi: “1,2,5,9”, “0-4,8-12”.

Valori di frequenza possono essere utilizzati in combinazione con i range. A seguito di un range con uno “/” specifico salta del valore del numero attraverso la serie. Ad esempio, “0-23/2” può essere utilizzato nel campo ora per specificare l’esecuzione del comando ogni due ore.

Al posto dei primi cinque campi, uno delle otto stringhe speciali possono essere utilizzate:

Stringa                     Significato
------                      -------------
@reboot                   Esegue una vola all'avvio
@yearly                   Esegue una volta l'anno, "0 0 1 1 *".
@annually                 (lo stesso di @yearly)
@monthly                  Esegue una volta al mese, "0 0 1 * *".
@weekly                   Esegue una volta alal settimana, "0 0 * * 0".
@daily                    Esegue una volta al giorno, "0 0 * * *".
@midnight                 (lo stesso di @daily)
@hourly                   Esegue una volta ogni ora, "0 * * * *".

Il “sesto” campo (il resto della linea) specifica il comando da eseguire. L’intero comando, fino ad un carattere di nuova riga o %, sarà eseguito da /bin/sh o dalla shell specificata nella variabile SHELL del file crontab.

I comandi nel Crontab vengono eseguiti da cron quando i campi minuto, ora, mese ed anno coincidono con l’ora corrente e quando almeno uno dei due campi del giorno (giorno del mese, o giorno della settimana) corrisponde al giorno attuale.

Conclusioni

Il programma cron di linux è un modo efficace per pianificare un processo in background in un momento particolare del giorno. Il modo più semplice per pianificare i processi, se si usa Gnome è quello di utilizzare il pacchetto gnome-schedule. Il task scheduler offre tre possibilità per ottenere una nuova attività. Sarete in grado di scegliere un compito ricorsivo, che è l’uso di base di gnome-schedule come frontend a cron. Inoltre, sarete in grado di creare modelli di pianificazione personalizzati, per esempio, se si desidera gestire alcuni programmi in alcune festività, si è in grado di fare un modello per tale attività in modo da non dover ricreare le regole cron ogni volta. La maggior parte degli utenti non richiede questa caratteristica, ma è davvero bello averla.

Sono numerosi i vantaggi di questi crontab quando si applicano in termini di pianificazione di attività particolari, a volte in orari particolari del giorno, che potrebbe essere quando siete vacanza o ad ore tarde della notte. Per esempio, mantenere un backup di routine del sistema o per verificare se è arrivata nuova e-mail.

Questi tipi di programmazione lato server offrono numerosi vantaggi. Per esempio, una parte della vostra attività comporta che mandiate una e-mail ai vostri collaboratori con un aggiornamento su informazioni specifiche e promemoria, ogni giorno alle 3 del mattino. Per questo si può fare un cron nel vostro sistema, mentre voi ripostae in quell’orario.

Avete mai usato prima di cron? Se no, allora dovreste utilizzarlo. E’ davvero utile nella pianificazione delle operazioni nel vostro sistema Linux.

Siti utili per il Cron

Popular Posts:

Flattr this!

  2 Responses to “Cron and crontab – Come programmare le cose su Linux”

  1. http://en.wikipedia.org/wiki/Chronos is the god of time. Cronus had nothing to do with that. Check your facts.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*