Utilizzo del servizio di scheduling Cron: differenze tra le versioni

aggiunto paragrafo "Strumenti grafici"
(aggiunto paragrafo "Strumenti grafici")
 
(2 versioni intermedie di un altro utente non mostrate)
Riga 53: Riga 53:
Le variabili a cui è possibile assegnare un valore sono:  
Le variabili a cui è possibile assegnare un valore sono:  
* <code>'''SHELL'''</code>: se non assegnata viene settata automaticamente da Cron a <code>/bin/sh</code> .<br/>Poiché in Debian l'interprete dei comandi a cui punta <code>/bin/sh</code> è <code>/bin/dash</code>, accertarsi che la sintassi dei comandi sia compatibile con '''dash'''; altrimenti modificare la variabile SHELL in maniera conforme all'interprete utilizzato, ad esempio:<pre>SHELL=/bin/bash</pre>Questa modifica potrebbe essere necessaria nel caso in cui si voglia eseguire attraverso Cron uno [[script]] Bash.
* <code>'''SHELL'''</code>: se non assegnata viene settata automaticamente da Cron a <code>/bin/sh</code> .<br/>Poiché in Debian l'interprete dei comandi a cui punta <code>/bin/sh</code> è <code>/bin/dash</code>, accertarsi che la sintassi dei comandi sia compatibile con '''dash'''; altrimenti modificare la variabile SHELL in maniera conforme all'interprete utilizzato, ad esempio:<pre>SHELL=/bin/bash</pre>Questa modifica potrebbe essere necessaria nel caso in cui si voglia eseguire attraverso Cron uno [[script]] Bash.
* <code>'''PATH'''</code>: anche questa variabile, se non le viene assegnato un valore, è settata automaticamente da Cron a <code>/usr/bin:/bin</code> . È utile cambiare questo valore se i comandi contenuti all'interno di uno script lanciato da ''Cron'' utilizzano a loro volta comandi non presenti in ''/usr/bin'' o ''/bin''oppure se si vuole inserire un comando senza specificarne il [[path]]. Per i comandi in <code>/usr/bin</code> e <code>/bin</code>, presenti cioè nel path di default, non è necessario specificarne il path completo.
* <code>'''PATH'''</code>: anche questa variabile, se non le viene assegnato un valore, è settata automaticamente da Cron a <code>/usr/bin:/bin</code> . È utile cambiare questo valore se i comandi contenuti all'interno di uno script lanciato da ''Cron'' utilizzano a loro volta comandi non presenti in ''/usr/bin'' o ''/bin'' oppure se si vuole inserire un comando senza specificarne il [[path]]. Per i comandi in <code>/usr/bin</code> e <code>/bin</code>, presenti cioè nel path di default, non è necessario specificarne il path completo.
* <code>'''LOGNAME'''</code>: contiene il login name dell'utente che esegue il comando <code>crontab</code>. Non può essere cambiata.
* <code>'''LOGNAME'''</code>: contiene il login name dell'utente che esegue il comando <code>crontab</code>. Non può essere cambiata.
* <code>'''HOME'''</code>: contiene il path della home directory associata all'utente che esegue <code>crontab</code>.
* <code>'''HOME'''</code>: contiene il path della home directory associata all'utente che esegue <code>crontab</code>.
Riga 214: Riga 214:
Questo può portare all'invio di messaggi con output indesiderato, o perché totalmente non richiesto per un determinato cronjob o perché si desidera soltanto la notifica dei messaggi d'errore nel caso il comando abbia avuto problemi.<br/>
Questo può portare all'invio di messaggi con output indesiderato, o perché totalmente non richiesto per un determinato cronjob o perché si desidera soltanto la notifica dei messaggi d'errore nel caso il comando abbia avuto problemi.<br/>
Per operare su questo aspetto si può reindirizzare l'output del comando specificato in ''Cron'' come si farebbe normalmente per la shell.
Per operare su questo aspetto si può reindirizzare l'output del comando specificato in ''Cron'' come si farebbe normalmente per la shell.
* Notifica solo dei messaggi d'errore.<br/>Si reindirizza lo standard output verso "/dev/null", ad esempio:
* Notifica solo dei messaggi d'errore. Si reindirizza lo standard output verso "/dev/null", ad esempio:
<pre>00 3 1 7 * /comando/da/eseguire > /dev/null</pre>
: <pre>00 3 1 7 * /comando/da/eseguire > /dev/null</pre>
* Soppressione totale dei messaggi.<br/>Si reindirizza sia lo standard output che lo standard error verso "/dev/null", ad esempio:
* Soppressione totale dei messaggi. Si reindirizza sia lo standard output che lo standard error verso "/dev/null", ad esempio:
<pre>00 3 1 7 * /comando/da/eseguire > /dev/null 2>&1</pre>Si noti che, in questo caso, l'impostazione:<pre>MAILTO = ""</pre>
: <pre>00 3 1 7 * /comando/da/eseguire > /dev/null 2>&1</pre>Si noti che, in questo caso, l'impostazione:<pre>MAILTO = ""</pre>
: avrebbe effetto su tutti i cronjob e non solo su quello voluto.
: avrebbe effetto su tutti i cronjob e non solo su quello voluto.
* Utilizzo di un file di log personale
* Utilizzo di un file di log personale
<pre>00 3 1 7 * /comando/da/eseguire >> /percorso/desiderato/mio_file.log 2>&1</pre>
: <pre>00 3 1 7 * /comando/da/eseguire >> /percorso/desiderato/mio_file.log 2>&1</pre>


=== Esempio di crontab ===
=== Esempio di crontab ===
Riga 315: Riga 315:
== Logging ==
== Logging ==


;File di log:Nel caso si abbiano problemi nel far funzionare correttamente il servizio di scheduling, si può in qualsiasi momento  dare un'occhiata al file di log <code>/var/log/syslog</code>  in cui il demone Cron invia i propri messaggi di sistema.<br/>Alternativamente si può fare in modo da avere un file di log separato per contenere i messaggi di Cron.<br/>Basta decommentare la riga del file <code>/etc/rsyslog.conf</code> :<pre>cron.*                          /var/log/cron.log</pre>e riavviare "rsyslog":<pre># service rsyslog restart</pre>per avere tutti i messaggi in <code>/var/log/cron.log</code> .
;File di log:Nel caso si abbiano problemi nel far funzionare correttamente il servizio di scheduling, si può in qualsiasi momento  dare un'occhiata al file di log <code>/var/log/syslog</code>  in cui il demone Cron invia i propri messaggi di sistema.<br/>Alternativamente è possibile avere un file di log separato per contenere i messaggi di Cron.<br/>Basta decommentare la riga del file <code>/etc/rsyslog.conf</code> :<pre>cron.*                          /var/log/cron.log</pre>e riavviare "rsyslog":<pre># service rsyslog restart</pre>per avere tutti i messaggi in <code>/var/log/cron.log</code> .




;Log level:Il livello di logging (cioè le informazioni che vengono scritte nei log prodotti da ''Cron'') può essere impostato nel file <code>/etc/default/cron</code> agendo sulla direttiva "EXTRA_OPTS". Ad esempio:<pre>EXTRA_OPTS="-L 8"</pre>I valori possibili sono:<pre>0    nessun log a meno che non avvenga un errore &#10;1    avvio del cronjob &#10;2    fine del cronjob &#10;4    log del cronjob con stato d'uscita diverso da 0 &#10;8    log anche dei processi-figlio del processo eseguito da Cron &#10;</pre>I valori possono essere sommati se si vuol loggare più di un evento.<br/>Con:<pre>EXTRA_OPTS="-L 15"</pre>si ottiene la massima "verbosità" del log.<br/>Per rendere effettive queste modifiche, servirà riavviare ''Cron'':<pre># service cron restart</pre>
;Log level:Il livello di logging (cioè le informazioni che vengono scritte nei log prodotti da ''Cron'') può essere impostato nel file <code>/etc/default/cron</code> agendo sulla direttiva "EXTRA_OPTS". Ad esempio:<pre>EXTRA_OPTS="-L 8"</pre>I valori possibili sono:<pre>0    nessun log a meno che non avvenga un errore &#10;1    avvio del cronjob &#10;2    fine del cronjob &#10;4    log del cronjob con stato d'uscita diverso da 0 &#10;8    log anche dei processi-figlio del processo eseguito da Cron &#10;</pre>I valori possono essere sommati se si vuol loggare più di un evento.<br/>Con:<pre>EXTRA_OPTS="-L 15"</pre>si ottiene la massima "verbosità" del log.<br/>Per rendere effettive queste modifiche, servirà riavviare ''Cron'':<pre># service cron restart</pre>
== Strumenti grafici ==
Benché il comando <code>crontab</code> sia assoultamente sufficiente per gestire i lavori da assegnare a Cron, a volte può essere comodo avere a disposizione un'interfaccia grafica anziché utilizzare la riga di comado soprattutto quando si utilizza Cron per la prima volta.<br/>
{{Warningbox | Fare un backup del propri cronjob. Questi strumenti sovrascrivono i file corrispondenti in <code>/var/spool/cron/crontabs</code> e quindi le informazioni qui contenute (ad esempio i commenti) potrebbero andare perse.}}
{| class="wikitable"
!Pacchetto
!Ambiente grafico
!Note
|-
|kde-config-cron || KDE || crea una voce in "Avvio e Spegnimento" all'interno delle impostazioni di KDE
|}


== Problemi comuni ==
== Problemi comuni ==
6 999

contributi