5.3. crontab: analizzare o modificare il file crontab

crontab è un comando che vi permette di eseguire dei comandi a intervalli di tempo regolari, con il vantaggio di non dover essere necessariamente collegati al sistema, e di poter ricevere il risultato dei comandi via e-mail. Potete indicare l'intervallo di tempo in minuti, ore, giorni e anche mesi. In base alle opzioni utilizzate, crontab si comporterà in diversi modi:

Iniziamo modificando un file crontab. Se scrivete crontab -e, se avete impostato le variabili d'ambiente EDITOR o VISUAL vi troverete di fronte al vostro editor di testi preferito, altrimenti sarà utilizzato Vi. Una riga del file crontab è composta da sei campi. I primi cinque campi sono gli intervalli di tempo in minuti, ore, giorni del mese, mesi e giorni della settimana. Il sesto campo è il comando che deve essere eseguito. Le righe che iniziano con un # sono considerate come commenti e saranno ignorate da crond (il programma che si occupa dell'esecuzione dei file crontab). Ecco un esempio di crontab:

Nota

per poterlo stampare con un carattere leggibile abbiamo dovuto spezzare le righe più lunghe in più parti; pertanto, alcune parti devono essere digitate su una sola riga. Quando una riga termina con il carattere \, significa che quella riga continua sotto. Questa convenzione è valida anche nei file Makefile, nella shell e in altre situazioni.

# Se non volete ricevere posta, fate precedere la
#   riga seguente dal segno di commento (#)
#MAILTO=""
#
# Ogni due 2 giorni, alle 14.00 in punto, fa un elenco delle
#   nuove immagini come nell'esempio precedente - dopo di che
#   "ritocca" il file "stamp". Il carattere "%" viene considerato
#   come un ritorno a capo, questo vi permette di inserire più
#   comandi sulla stessa linea.
0 14 */2 * *  find /shared/images              \
  -cnewer /shared/images/stamp                 \
  -a -iregex ".*\.jpe?g"                       \
  -a -not -regex                               \
    ".*/old/.*"%touch /shared/images/stamp
#
# Suona una musica ogni volta che è Natale :)
0 0 25 12 * mpg123 $HOME/musica/buon-natale.mp3
#
# Ogni martedì alle 17.00 stampa la lista della spesa...
0 17 * * 2 lpr $HOME/lista-della-spesa.txt
Ci sono parecchi modi per specificare gli intervalli, oltre a quelli mostrati in questo caso. Ad esempio, potete indicare un insieme di valori discreti separati da virgole (1,14,23) o una gamma di valori (1-15), o anche combinare le due cose insieme (1-10,12-20), specificando eventualmente un passo (1-12,20-27/2). Ora tocca a voi trovare dei comandi utili da inserire in questo file :-).


Tux on Star from MandrakeSoft Linux è un marchio registrato di Linus Torvalds. Tutti gli altri marchi e copyright appartengono ai rispettivi proprietari.
Se non diversamente specificato, i diritti di tutto il contenuto di queste pagine e di tutte le immagini sono proprietà di MandrakeSoft S.A. e MandrakeSoft Inc. 2001.
http://www.mandrakelinux.com/