Uno dei comandi più utili presenti in FreeBSD è
cron(8).
L'utility cron
viene eseguita in background
e controlla costantemente
il file /etc/crontab
. cron
controlla anche la directory /var/cron/tabs
,
alla ricerca di nuovi file crontab
. Questi file
crontab
contengono informazioni sulle
specifiche funzioni che ci si aspetta vengano
compiute da cron
a determinati intervalli
temporali.
L'utility cron
usa due differenti
tipi di file di configurazione, il crontab di sistema ed il crontab
utente. La sola differenza fra questi due file è nel sesto campo.
Nel crontab di sistema, il sesto campo è il nome dell'utente
sotto il quale viene eseguito il comando. Questo dà al crontab
di sistema la capacità di eseguire comandi come ogni utente.
Nel crontab utente, il sesto campo è il comando da eseguire,
e tutti i comandi vengono eseguiti come l'utente che ha creato il crontab;
questa è un'importante caratteristica di sicurezza.
I crontab utenti permettono ad utenti individuali di schedulare
task senza i privilegi di root
. I comandi
in un crontab utente vengono eseguiti con i permessi dell'utente
che posseggono il file crontab.
L'utente root
può possedere
il crontab proprio come ogni altro utente. Qui c'è una
differenza rispetto a /etc/crontab
(il crontab
di sistema). Per via del crontab di sistema, di solito non c'è
bisogno di creare un crontab per root
.
Diamo un'occhiata al file /etc/crontab
(il crontab di sistema):
# /etc/crontab - il crontab di root per FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ ## SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log # # #minute hour mday month wday who command
# # */5 * * * * root /usr/libexec/atrun
![]()
Come in molti file di configurazione di
FreeBSD, il carattere | |
Anzitutto, deve essere definito l'ambiente. I segni di uguale
( | |
Questa linea definisce un totale di sette campi. Qui sono
elencati i valori | |
Quest'ultima linea definirà i valori discussi prima.
Notate che abbiamo un I comandi possono essere richiamati con qualsiasi numero di flag; i comandi che si estendono per più righe potrebbero però avere bisogno di essere spezzati con il carattere di continuazione «\». |
Questa è l'impostazione di base per ogni file
crontab
, anche se c'è qualcosa di
particolare in questo.
Il sesto campo, dove abbiamo specificato il nome utente,
esiste solo nel file di sistema /etc/crontab
.
Questo campo dovrebbe venire omesso nei crontab
dei vari utenti.
Non devi usare la procedura descritta qui
per editare/installare il crontab di sistema. Semplicemente
usa il tuo editor favorito: l'utility cron
noterà che il file è cambiato e immediatamente
inizierà ad usare la versione aggiornata. Vedi
queste
FAQ per maggiori informazioni.
Per installare un crontab
appena scritto, prima usa il tuo editor preferito
per creare un file nel formato corretto, e poi
usa l'utility crontab
. L'uso
più corretto è:
%
crontab crontab-file
In questo esempio, crontab-file
è il nome di un file crontab
che era stato
creato in precedenza.
C'è anche un'opzione per elencare i file
crontab
già installati: passate
semplicemente -l
a crontab
e date
un'occhiata all'output.
Per gli utenti che desiderino scrivere il proprio file crontab
da zero, senza usare un template, è disponibile
crontab -e
.
Questa opzione permetterà loro di invocare l'editor
prescelto su un file vuoto. Quando il file verrà salvato,
esso verrà automaticamente installato
dal comando crontab
.
Se successivamente vuoi rimuovere il tuo
crontab
completamente, usa crontab
con l'opzione -r
.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Per domande su FreeBSD, leggi la
documentazione prima di contattare
<questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a
<doc@FreeBSD.org>.