Utilizzo del servizio di scheduling Cron: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione al servizio di scheduling Cron==
=Versioni compatibili=
===Introduzione===
* Debian Sarge 3.0
* Debian Etch 4.0
* Debian Lenny 5.0
* Debian Squeeze 6.0
=Introduzione al servizio di scheduling Cron=
Alcuni processi devono essere eseguiti a determinati orari, un determinato numero di volte. Esempi possono essere i processi di backup che vengono lanciati ogni notte, oppure un analizzatore di log che deve girare ogni minuto.<br/>
Alcuni processi devono essere eseguiti a determinati orari, un determinato numero di volte. Esempi possono essere i processi di backup che vengono lanciati ogni notte, oppure un analizzatore di log che deve girare ogni minuto.<br/>
Questi processi devono girare un certo numero di volte oppure in determinati giorni; il resto del tempo essi stanno fermi fino a quando un utente non interagisce con essi e li richiama (con gli appositi comandi). Questi sono i casi in cui il demone CRON si rende utile. Vi permette di programmare (o "schedulare", come si dice in gergo) l'esecuzione di un lavoro in qualsiasi momento desideriate, ogni minuto, ogni ora, giornalmente, mensilmente.
Questi processi devono girare un certo numero di volte oppure in determinati giorni; il resto del tempo essi stanno fermi fino a quando un utente non interagisce con essi e li richiama (con gli appositi comandi). Questi sono i casi in cui il demone CRON si rende utile. Vi permette di programmare (o "schedulare", come si dice in gergo) l'esecuzione di un lavoro in qualsiasi momento desideriate, ogni minuto, ogni ora, giornalmente, mensilmente.


=== Le basi ===
= Le basi =
Cron può essere fatto partire da <tt>rc</tt> o da <tt>rc.local</tt> e ritorna immediatamente al prompt, sicchè non c'é bisogno di lanciarlo in background. Cron ricerca il file <tt>/etc/crontab</tt> per le voci (le cosiddette "entry") di sistema e <tt>/var/spool/cron/crontabs</tt> per le voci relative agli utenti che si trovano nel file <tt>/etc/passwd</tt>. Tutte le voci ritrovate sono caricate in memoria.
Cron può essere fatto partire da <tt>rc</tt> o da <tt>rc.local</tt> e ritorna immediatamente al prompt, sicchè non c'é bisogno di lanciarlo in background. Cron ricerca il file <tt>/etc/crontab</tt> per le voci (le cosiddette "entry") di sistema e <tt>/var/spool/cron/crontabs</tt> per le voci relative agli utenti che si trovano nel file <tt>/etc/passwd</tt>. Tutte le voci ritrovate sono caricate in memoria.
Tutto ciò viene ripetuto ogni minuto. Il demone Cron esegue diversi compiti:
Tutto ciò viene ripetuto ogni minuto. Il demone Cron esegue diversi compiti:
Riga 12: Riga 16:
Poiché cron cerca le modifiche ogni minuto, non è necessario farlo ripartire quando sono stati effettuati dei cambiamenti nei file nella directory cron.
Poiché cron cerca le modifiche ogni minuto, non è necessario farlo ripartire quando sono stati effettuati dei cambiamenti nei file nella directory cron.


=== Utilizzare crontab ===
= Utilizzare crontab =
Il demone Cron legge il file <tt>'''crontab'''</tt>; ogni utente può avere la propria versione di questo file, orientata agli specifici compiti che si vogliono eseguire. I flag associati con le applicazioni crontab specificano quando aprire crontab per avere la lista o per rimuovere e modificare compiti.
Il demone Cron legge il file <tt>'''crontab'''</tt>; ogni utente può avere la propria versione di questo file, orientata agli specifici compiti che si vogliono eseguire. I flag associati con le applicazioni crontab specificano quando aprire crontab per avere la lista o per rimuovere e modificare compiti.


Riga 33: Riga 37:
* <tt>'''-r'''</tt> : questa opzione rimuove il file crontab specificato. Se nessun file viene specificato, rimuove il file crontab dell'utente.
* <tt>'''-r'''</tt> : questa opzione rimuove il file crontab specificato. Se nessun file viene specificato, rimuove il file crontab dell'utente.


===Voci in Crontab===
=Voci in Crontab=
Solo 2 tipi di voci sono permesse nel crontab: i settaggi ambientali (Crontab Environmental settings) e i settaggi di comando (Crontab Command settings)
Solo 2 tipi di voci sono permesse nel crontab: i settaggi ambientali (Crontab Environmental settings) e i settaggi di comando (Crontab Command settings)
====Crontab Environmental settings====
==Crontab Environmental settings==
I settaggi ambientali utilizzano la seguente forma:
I settaggi ambientali utilizzano la seguente forma:
<pre>
<pre>
Riga 47: Riga 51:
MAILTO=luca
MAILTO=luca
</pre>
</pre>
==== Crontab Command settings ====
== Crontab Command settings ==
I settaggi comandi usano un formato standard: ogni riga inizia con cinque campi ora/data. Se è il crontab di sistema, il campo successivo è lo username associato con la voce. Il campo seguente sarà il comando da eseguire. Il comando verrà eseguito solo quando la data e l'ora corrente coincideranno con tutti i valori dei campi time/date del crontab.
I settaggi comandi usano un formato standard: ogni riga inizia con cinque campi ora/data. Se è il crontab di sistema, il campo successivo è lo username associato con la voce. Il campo seguente sarà il comando da eseguire. Il comando verrà eseguito solo quando la data e l'ora corrente coincideranno con tutti i valori dei campi time/date del crontab.
I campi disponibili per la data e l'ora sono i seguenti:
I campi disponibili per la data e l'ora sono i seguenti:
Riga 73: Riga 77:
</pre>
</pre>


====Esempio di Crontab====
==Esempio di Crontab==
<pre>
<pre>
# Crontab Environmental settings
# Crontab Environmental settings
Riga 97: Riga 101:
* L'ultimo valore rappresenta il percorso del comando da eseguire, con le sue eventuali opzioni
* L'ultimo valore rappresenta il percorso del comando da eseguire, con le sue eventuali opzioni


===Note===
=Note=
Il sistema non va indietro nel tempo a raccogliere i lavori cron, ma li esegue solo se la data e l'ora sono uguali alla voce nel file. Se il computer è spento quando dovrebbe essere eseguito un comando in cron, quel comando non viene eseguito.
Il sistema non va indietro nel tempo a raccogliere i lavori cron, ma li esegue solo se la data e l'ora sono uguali alla voce nel file. Se il computer è spento quando dovrebbe essere eseguito un comando in cron, quel comando non viene eseguito.
===Credits===
=Credits=
Questa guida è basata sull'originale presente su: http://openskill.info/infobox.php?ID=237
Questa guida è basata sull'originale presente su: http://openskill.info/infobox.php?ID=237
<br/>
<br/>