Utilizzo del servizio di scheduling Cron: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:
==Introduzione al servizio di scheduling Cron==
==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, settimanalmente, mensilmente, annualmente.
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 ("job" o "cronjob") in qualsiasi momento desideriate, ogni minuto, ogni ora, giornalmente, settimanalmente, mensilmente, annualmente.


== Le basi ==
== Le basi ==
Cron viene lanciato in background all'avvio del sistema dallo script <code>/etc/init.d/cron</code> a cui punta il link presente in <code>/etc/rc2.d/</code>, sicché non c'è bisogno di lanciarlo manualmente. Cron ricerca il file <code>/etc/crontab</code> per le voci (le cosiddette "entry") di sistema e <code>/var/spool/cron/crontabs</code> per le voci relative agli utenti che si trovano nel file <code>/etc/passwd</code>. Tutte le voci ritrovate sono caricate in memoria.
Cron viene lanciato in background all'avvio del sistema dallo script <code>/etc/init.d/cron</code> a cui punta il link presente in <code>/etc/rc2.d/</code>, sicché non c'è bisogno di lanciarlo manualmente. All'avvio Cron legge il file <code>/etc/crontab</code> per le voci (le cosiddette "entry") di sistema, i file contenuti nella directory <code>/etc/cron.d/</code> e i file in <code>/var/spool/cron/crontabs</code> per le voci relative agli utenti che si trovano nel file <code>/etc/passwd</code>. Tutte le voci (crontab) ritrovate sono caricate in memoria.
Tutto ciò viene ripetuto ogni minuto.


Il demone Cron esegue diversi compiti:
Il demone Cron esegue diversi compiti:
* ricerca le voci ed esegue i programmi che sono stati schedulati.
* Ogni minuto controlla se vi sono stati cambiamenti nei file contenuti in <code>/etc/cron.d/</code> o nel file<code>/etc/crontab</code>. In questo caso aggiorna il modtime (vale a dire la data e l'ora dell'ultima modifica) per questi crontab e li ricarica in memoria;
* determina se il modtime (vale a dire la data e l'ora dell'ultima modifica) nella directory di Cron è cambiato
* Monitora il comando <code>crontab</code> che si occupa di modificare i lavori di Cron per ciascun utente e contenuti in <code>/var/spool/cron/crontabs</code>. Le modifiche effettuate con il comando <code>crontab</code> comportano, da parte di Cron, l'aggiornamento dei crontab in memoria e del loro modtime;
* se il modtime nella directory cron è cambiato, Cron ricerca tutti i file e ricarica i programmi che sono stati modificati.
* Confronta ogni minuto l'ora/data dei crontab in memoria con l'ora/data corrente per stabilire se il comando schedulato debba essere avviato oppure no;
Poiché Cron cerca le modifiche ogni minuto, non è necessario farlo ripartire ogni volta che vengono effettuati dei cambiamenti tramite il comando <code>crontab</code>.


== Utilizzare crontab ==
In base a questo modo di operare, non è necessario far ripartire Cron ogni volta che vengono effettuati dei cambiamenti tramite il comando <code>crontab</code>.
Il demone Cron legge i file contenuti in <code>/var/spool/cron/crontabs/</code> relativi ai compiti (cronjobs) che ogni specifico utente vuole eseguire. È importante sapere che questi file non vanno modificati direttamente, ma solo attraverso il comando <code>crontab</code> seguito dagli appropriati flag che specificano se lanciare <code>crontab</code> per avere la lista o per aggiungere, rimuovere e modificare compiti.
 
== Utilizzare il comando crontab ==
Il demone Cron legge i file contenuti in <code>/var/spool/cron/crontabs/</code> relativi ai cronjobs che ogni specifico utente vuole eseguire. È importante sapere che <u>questi file non vanno modificati direttamente</u>, ma solo attraverso il comando <code>crontab</code> seguito dagli appropriati flag che specificano se lanciare <code>crontab</code> per avere la lista o per aggiungere, rimuovere e modificare compiti.


La sintassi per il programma <code>crontab</code> è la seguente:
La sintassi per il programma <code>crontab</code> è la seguente:
Riga 25: Riga 25:
</pre>
</pre>
I parametri significano:
I parametri significano:
* <code>'''-u'''</code> : questa opzione comunica al sistema il nome dell'utente che "possiede" il file. Se l'opzione <code>-u</code> è omessa, il sistema deduce per default che state usando il vostro <code>crontab</code> personale. NOTA: Il comando switch user (<code>su</code>) può confondere il <code>crontab</code>, così se siete nello switch <code>su</code> assicuratevi di utilizzare l'opzione <code>-u</code>.
* <code>'''-u'''</code> : questa opzione comunica al sistema il nome dell'utente che "possiede" il file. Se l'opzione <code>-u</code> è omessa, il sistema deduce per default che state usando il vostro crontab personale. NOTA: Il comando switch user (<code>su</code>) può confondere il <code>crontab</code>, così se siete nello switch <code>su</code> assicuratevi di utilizzare l'opzione <code>-u</code>.
* <code>'''-l'''</code> : questa opzione dice a <code>crontab</code> di elencare i file nello standard output, cioè di visualizzare il file.
* <code>'''-l'''</code> : questa opzione dice a <code>crontab</code> di elencare i file nello standard output, cioè di visualizzare il file.
* <code>'''-e'''</code> : questa opzione dice a <code>crontab</code> di editare il file. Cron usa l'editor definito dalle variabili <code>EDITOR</code> o <code>VISUAL</code>. Se nessuna di queste due variabili è definita, parte in automatico [http://guide.debianizzati.org/index.php/Impostare_l%27editor_predefinito_della_shell l'editor di default]. L'editor salva il file in <code>/tmp</code>; quando si esce dall'editor, il file è immediatamente salvato in <code>/var/spool/cron/crontabs</code> e viene aggiornato il campo data/ora. '''Questo è il comando principale da utilizzare se si vuole modificare il proprio file <code>crontab</code> per cancellare o inserirvi i lavori da assegnare a Cron.'''
* <code>'''-e'''</code> : questa opzione dice a <code>crontab</code> di editare il file. Cron usa l'editor definito dalle variabili <code>EDITOR</code> o <code>VISUAL</code>. Se nessuna di queste due variabili è definita, parte in automatico [http://guide.debianizzati.org/index.php/Impostare_l%27editor_predefinito_della_shell l'editor di default]. L'editor salva il file in <code>/tmp</code>; quando si esce dall'editor, il file è immediatamente salvato in <code>/var/spool/cron/crontabs</code> e viene aggiornato il campo data/ora. '''Questo è il comando principale da utilizzare se si vuole modificare il proprio file crontab per cancellare o inserirvi i lavori da assegnare a Cron.'''
* <code>'''-r'''</code> : questa opzione rimuove il file <code>crontab</code>. Se nessun utente viene specificato attraverso l'opzione '-u', rimuove il file <code>crontab</code> dell'utente che lancia il comando.
* <code>'''-r'''</code> : questa opzione rimuove il file crontab. Se nessun utente viene specificato attraverso l'opzione '-u', rimuove il file crontab dell'utente che lancia il comando.
* <code>'''file'''</code> : inserisce il contenuto del file nel crontab dell'utente specificato tramite l'opzione '-u'. Se non viene specificato nessun utente, allora il contenuto del file sarà inserito nel crontab dell'utente che lancia il comando (vedi anche: [[Utilizzo_del_servizio_di_scheduling_Cron#Importare_un_file_crontab | Importare un file crontab]])
* <code>'''file'''</code> : inserisce il contenuto del file nel crontab dell'utente specificato tramite l'opzione '-u'. Se non viene specificato nessun utente, allora il contenuto del file sarà inserito nel crontab dell'utente che lancia il comando (vedi anche: [[Utilizzo_del_servizio_di_scheduling_Cron#Importare_un_file_crontab | Importare un file crontab]])


Riga 40: Riga 40:
Root è sempre abilitato all'utilizzo di <code>crontab</code>, indipendentemente dall'esistenza o meno di questi due file.
Root è sempre abilitato all'utilizzo di <code>crontab</code>, indipendentemente dall'esistenza o meno di questi due file.


==Voci in Crontab==
==Voci in un file crontab==
Solo due tipi di voci sono permesse nel <code>crontab</code>: i settaggi ambientali (Crontab Environmental settings) e i settaggi di comando (Crontab Command settings)
Solo due tipi di voci sono permesse in un file 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:
Riga 47: Riga 47:
NOME = valore
NOME = valore
</pre>
</pre>
che, per motivi di leggibilità, dovrebbero essere inseriti in testa al file generato da <code>crontab</code>.<br/>
che, per motivi di leggibilità, dovrebbero essere inseriti in testa al file generato dal comando <code>crontab</code>.<br/>
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/>
* <code>'''SHELL'''</code>: se non assegnata viene settata automaticamente da Cron a <code>/bin/sh</code> .<br/>
Riga 53: Riga 53:
<pre>SHELL=/bin/bash</pre>
<pre>SHELL=/bin/bash</pre>
* <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 solo 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 solo 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 <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>.
* <code>'''MAILTO'''</code>: di default Cron invia un'email con l'output dei comandi presenti nel <code>crontab</code> all'utente che ne è proprietario.
* <code>'''MAILTO'''</code>: di default Cron invia un'email con l'output dei comandi presenti nel crontab all'utente che ne è proprietario.
#se questa variabile è settata, il demone Cron invierà un'email, con l'output del/dei comando/comandi specificati in <code>crontab</code>, all'utente specificato. È possibile specificare più utenti separandoli con una virgola;
#se questa variabile è settata, il demone Cron invierà un'email, con l'output del/dei comando/comandi specificati in <code>crontab</code>, all'utente specificato. È possibile specificare più utenti separandoli con una virgola;
#se la variabile è settata a "", allora non verranno inviate email;<br/>
#se la variabile è settata a "", allora non verranno inviate email;<br/>
#se la variabile non è specificata, verrà inviata un'email all'utente a cui appartiene il <code>crontab</code>.<br/>
#se la variabile non è specificata, verrà inviata un'email all'utente a cui appartiene il crontab.<br/>
La seguente riga mostra la variabile MAILTO settata ad uno specifico utente (luca):
La seguente riga mostra la variabile MAILTO settata ad uno specifico utente (luca):
<pre>
<pre>
Riga 72: Riga 72:


=== Crontab Command settings ===
=== Crontab Command settings ===
I settaggi di comando usano un formato standard: ogni riga è composta da cinque campi ora/data seguiti da un campo contenente il comando da eseguire. Per il <code>crontab</code> di sistema ('''<code>/etc/crontab</code>''') e per i lavori di Cron presenti in <code>/'''etc/cron.d/'''</code>, vi è un settimo campo, compreso tra i primi cinque e il comando da eseguire, che contiene lo username dell'utente con i cui permessi verrà lanciato il comando.<br/>
I settaggi di comando usano un formato standard: ogni riga è composta da cinque campi ora/data seguiti da un campo contenente il comando da eseguire.<br/>
Per il crontab di sistema ('''<code>/etc/crontab</code>''') e per i lavori di Cron presenti in <code>/'''etc/cron.d/'''</code>, vi è un settimo campo, compreso tra i primi cinque e il comando da eseguire, che contiene lo username dell'utente con i cui permessi verrà lanciato il comando.<br/>
Vedremo in seguito che sono possibili alcune eccezioni a questa regola.
Vedremo in seguito che sono possibili alcune eccezioni a questa regola.


Riga 86: Riga 87:
</pre>
</pre>


Ecco lo schema per una generica linea presente in un file <code>crontab</code>:
Ecco lo schema per una generica linea presente in un file crontab:
<pre>
<pre>
.---------------- [m]inute: minuto (0 - 59)  
.---------------- [m]inute: minuto (0 - 59)  
Riga 99: Riga 100:


== Sintassi ==
== Sintassi ==
Ogni file <code>crontab</code> specifica su ogni riga un compito da assegnare al demone Cron.<br/>
Ogni file crontab specifica su ogni riga un compito da assegnare al demone Cron.<br/>
Una riga può contenere dei commenti (la riga inizia con il carattere "#") ed essere posizionata in qualunque punto del file. Non è possibile inserire un commento alla fine di una riga che già contiene un comando. <br/>
Una riga può contenere dei commenti (la riga inizia con il carattere "#") ed essere posizionata in qualunque punto del file. Non è possibile inserire un commento alla fine di una riga che già contiene un comando. <br/>
Le righe contenenti i command settings sono costituite da campi separati da spazi o caratteri di tabulazione.<br/>
Le righe contenenti i command settings sono costituite da campi separati da spazi o caratteri di tabulazione.<br/>
I primi cinque campi possono contenere un numero, un intervallo di valori, stringhe particolari o un asterisco (*). Quest'ultimo sta a indicare ogni possibile valore ammesso dell'intervallo; quindi un asterisco nel terzo campo indica che il comando verrà eseguito ogni giorno.<br/>
I primi cinque campi possono contenere un numero, un intervallo di valori, stringhe particolari o un asterisco (*). Quest'ultimo sta a indicare ogni possibile valore ammesso dell'intervallo; quindi un asterisco nel terzo campo indica che il comando verrà eseguito ogni giorno.<br/>
Se tutti i primi cinque campi contengono un asterisco, il comando verrà eseguito ogni volta che il demone Cron legge i file <code>crontab</code>, cioè ogni minuto.<br/>
Se tutti i primi cinque campi contengono un asterisco, il comando verrà eseguito ogni volta che il demone Cron legge i file crontab in memoria, cioè ogni minuto.<br/>
Questo è un semplice esempio di <code>crontab</code> editabile attraverso il comando <code>crontab -e</code> :
Questo è un semplice esempio di crontab editabile attraverso il comando <code>crontab -e</code> :
<pre>
<pre>
00 3 1 7 * /comando/da/eseguire
00 3 1 7 * /comando/da/eseguire
Riga 113: Riga 114:
; <code>'''Campo 3'''</code>: quando il giorno del mese vale 1.
; <code>'''Campo 3'''</code>: quando il giorno del mese vale 1.
; <code>'''Campo 4'''</code>: quando il mese è il settimo dell'anno ossia luglio.
; <code>'''Campo 4'''</code>: quando il mese è il settimo dell'anno ossia luglio.
; <code>'''Campo 5'''</code>: ogni giorno della settimana. Poiché è specificato il giorno del mese, questo campo viene ignorato (vale anche il caso opposto; più avanti sarà spiegato in che modo Cron interpreta le righe di <code>crontab</code> in cui sono specificati sia il giorno del mese che quello della settimana).<br/>
; <code>'''Campo 5'''</code>: ogni giorno della settimana. Poiché è specificato il giorno del mese, questo campo viene ignorato (vale anche il caso opposto; più avanti sarà spiegato in che modo Cron interpreta le righe di un file crontab in cui sono specificati sia il giorno del mese che quello della settimana).<br/>
Quindi, in breve, il comando è eseguito il primo luglio alle ore 3,00.
Quindi, in breve, il comando è eseguito il primo luglio alle ore 3,00.


Riga 172: Riga 173:
'''Attenzione.'''<br/>
'''Attenzione.'''<br/>
Poiché i giorni possono essere specificati sia nel terzo che nel quinto campo e nel caso in cui questi due campi abbiano entrambi un valore diverso dall'asterisco, il demone Cron lancia il comando quando i campi corrispondono alla data corrente e in maniera indipendente l'uno dall'altro. In questo caso, dunque, verrà eseguito il comando sia negli specificati giorni del mese sia nei giorni specificati della settimana.<br/>
Poiché i giorni possono essere specificati sia nel terzo che nel quinto campo e nel caso in cui questi due campi abbiano entrambi un valore diverso dall'asterisco, il demone Cron lancia il comando quando i campi corrispondono alla data corrente e in maniera indipendente l'uno dall'altro. In questo caso, dunque, verrà eseguito il comando sia negli specificati giorni del mese sia nei giorni specificati della settimana.<br/>
Quindi l'esempio precedente non porta al risultato di lanciare il comando solo nei primi quindici giorni di ogni mese quando il giorno è venerdì, ma al risultato di lanciare il comando nei primi quindici giorni di ciascun mese e anche ogni venerdì di ogni settimana dell'anno.
Quindi l'esempio precedente '''non''' porta al risultato di lanciare il comando solo nei primi quindici giorni di ogni mese quando il giorno è venerdì, ma al risultato di lanciare il comando nei primi quindici giorni di ciascun mese e anche ogni venerdì di ogni settimana dell'anno.


Se si vuole ottenere il risultato di lanciare un comando in un particolare giorno della settimana solo se questo coincide con un giorno del mese o se appartiene a un intervallo di giorni del mese, bisogna eseguire un test separato sulla data. Il test può essere fatto sia all'interno di <code>crontab</code>, sia all'interno di uno script lanciato da <code>crontab</code>.
Se si vuole ottenere il risultato di lanciare un comando in un particolare giorno della settimana solo se questo coincide con un giorno del mese o se appartiene a un intervallo di giorni del mese, bisogna eseguire un test separato sulla data. Il test può essere fatto sia all'interno di <code>crontab</code>, sia all'interno di uno script lanciato da <code>crontab</code>.
Riga 203: Riga 204:
   @hourly        Lancia il comando una volta all'ora. Uguale a "0 * * * *
   @hourly        Lancia il comando una volta all'ora. Uguale a "0 * * * *
</pre>
</pre>
in base a questa tabella sono perfettamente ammissibili le seguenti righe per il file <code>crontab</code>:
in base a questa tabella sono perfettamente ammissibili le seguenti righe per il file crontab:
<pre>
<pre>
@daily /comando/da/eseguire
@daily /comando/da/eseguire
Riga 213: Riga 214:
con cui il comando verrà eseguito ogni mese; in particolare il primo giorno di ogni mese, a mezzanotte.
con cui il comando verrà eseguito ogni mese; in particolare il primo giorno di ogni mese, a mezzanotte.


=== Esempio di Crontab ===
=== Esempio di crontab ===
Di seguito un esempio di file <code>crontab</code> in cui sono specificate le variabili d'ambiente e i settaggi di comando:
Di seguito un esempio di file crontab in cui sono specificate le variabili d'ambiente e i settaggi di comando:
<pre>
<pre>
# Crontab Environmental settings
# Crontab Environmental settings
Riga 227: Riga 228:
15 20 * 1-7 * /comando/da/eseguire2
15 20 * 1-7 * /comando/da/eseguire2
*/30 7,21 1-15 1 * /comando/da/eseguire3
*/30 7,21 1-15 1 * /comando/da/eseguire3
@reboot /comando/da/eseguire4
</pre>
</pre>


== Crontab di sistema: /etc/crontab ==
== Crontab di sistema: /etc/crontab ==
Anche la nostra macchina ha il proprio file <code>crontab</code> in cui sono specificati i comandi di sistema da lanciare ad intervalli regolari. Il file è contenuto in <code>/etc/crontab</code> e viene letto da Cron, come i file <code>crontab</code> degli utenti, ogni minuto.<br/>
Anche la nostra macchina ha il proprio file crontab in cui sono specificati i comandi di sistema da lanciare ad intervalli regolari. Il file è contenuto in <code>/etc/crontab</code> e viene letto da Cron ogni minuto.<br/>
In questo file è utilizzato un campo aggiuntivo, dopo i primi cinque campi data/ora e prima del comando, che specifica l'utente con i cui permessi verrà eseguito il comando.
In questo file è utilizzato un campo aggiuntivo, dopo i primi cinque campi data/ora e prima del comando, che specifica l'utente con i cui permessi verrà eseguito il comando.


Riga 251: Riga 253:
il comando <code>run-parts</code> lancia gli script presenti in <code>/etc/cron.monthly</code> il primo di ogni mese alle 6,52
il comando <code>run-parts</code> lancia gli script presenti in <code>/etc/cron.monthly</code> il primo di ogni mese alle 6,52


In breve, il <code>crontab</code> di sistema si occupa di lanciare ad intervalli regolari gli script di sistema contenuti nelle cartelle sopra indicate.<br/>
In breve, il crontab di sistema indica a Cron di lanciare ad intervalli regolari gli script di sistema contenuti nelle cartelle sopra indicate.<br/>
Tipicamente questo file non necessita di essere editato, a meno che non ci si accorga che gli script non possono essere lanciati a causa dell'inattività della macchina alla data/ora specificata. Come si può ben notare, il comando <code>run-parts</code> viene lanciato con i permessi di root (sesto campo).
Tipicamente questo file non necessita di essere editato, a meno che non ci si accorga che gli script non possono essere lanciati a causa dell'inattività della macchina alla data/ora specificata. Come si può ben notare, il comando <code>run-parts</code> viene lanciato con i permessi di root (sesto campo).


Riga 277: Riga 279:


== Esportare un file crontab ==
== Esportare un file crontab ==
Se si vuole salvare il proprio <code>crontab</code> per esportarlo su un'altra macchina o semplicemente per farne una copia di backup, la procedura è semplicissima:
Se si vuole salvare il proprio crontab per esportarlo su un'altra macchina o semplicemente per farne una copia di backup, la procedura è semplicissima:
<pre>$ crontab -l > mycrontab </pre>
<pre>$ crontab -l > mycrontab </pre>
in questo modo il file <code>crontab</code> verrà salvato nel file <code>mycrontab</code>.<br/>
in questo modo il file <code>crontab</code> verrà salvato nel file <code>mycrontab</code>.<br/>
Per salvare il <code>crontab</code> di root è sufficiente lanciare lo stesso comando con i permessi di root.<br/>
Per salvare il crontab di root è sufficiente lanciare lo stesso comando con i permessi di root.<br/>
Se si vuole salvare il <code>crontab</code> di un altro utente, eseguire con i permessi di root:
Se si vuole salvare il crontab di un altro utente, eseguire con i permessi di root:
<pre># crontab -u utente -l > usercrontab </pre>
<pre># crontab -u utente -l > usercrontab </pre>
I nomi scelti per i file sono puramente indicativi.
I nomi scelti per i file sono puramente indicativi.


== Importare un file crontab ==
== Importare un file crontab ==
Questa procedura è utile per importare un file in cui si è precedentemente salvato il contenuto di un file <code>crontab</code> oppure per importare un file editato a mano attraverso un qualsiasi altro editor, testuale o grafico:<br/>
Questa procedura è utile per importare un file in cui si è precedentemente salvato il contenuto di un file crontab oppure per importare un file editato a mano attraverso un qualsiasi altro editor, testuale o grafico:<br/>
<pre>$ crontab mycrontab</pre>
<pre>$ crontab mycrontab</pre>
in questo modo il contenuto di <code>mycrontab</code> verrà inserito nel <code>crontab</code> dell'utente che lancia il comando.<br/>
in questo modo il contenuto di <code>mycrontab</code> verrà inserito nel crontab dell'utente che lancia il comando.<br/>
Per un diverso utente, eseguire da root:
Per un diverso utente, eseguire da root:
<pre># crontab -u utente usercrontab</pre>
<pre># crontab -u utente usercrontab</pre>
Anche in questo caso i nomi dei file sono puramente indicativi.<br/>
Anche in questo caso i nomi dei file sono puramente indicativi.<br/>
'''Attenzione''': i file <code>crontab</code>, se presenti, verranno sovrascritti!
'''Attenzione''': il file crontab, se presente, verrà sovrascritto!


==Note==
==Note==
6 999

contributi

Menu di navigazione