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.
Nota: 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
PATH
, non
verrà usato nessun default e le locazioni dei file dovranno essere assolute. Se viene
omessa HOME
, cron userà la home
directory dello user che lo ha richiamato.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.
Importante: 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 <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.