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:
-l: stampa il vostro file crontab attuale.
-e: modifica il vostro file crontab.
-r: elimina il vostro file crontab attuale.
-u <utente>: applica una delle opzioni di cui sopra all'utente <utente>. Solo root può farlo.
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:
![]() | 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 |
Indietro | Partenza | Avanti |
find: cerca file in base a determinati criteri | Risali | at: programmare un comando per una sola esecuzione |