News
  • Nuovo portale
    Alastor.biz - [leggi]
  • Nuovi Progetti per
    Web And Translation - [leggi]
  • Nuovo Portale Cresci
    Gioielli On.Line - [leggi]
  • Parte lo sviluppo di
    un nuovo portale:
    Plug&Play.it - [leggi]
  • Parte lo sviluppo di
    un nuovo portale:
    Cresci gioielli - [leggi]

image Iscriviti ai FeedRss Per rimanere sempre aggiornato su news e articoli.

Come usare Crontab

Vi è mai capitato di dover effettuare un'operazione sul vostro pc/server ogni tot tempo, tipo ogni ora, giorno, settimana, mese o anno, o anche composizioni di essi?

Bene su tutti i sistemi UnixLike ci viene in aiuto il demone Crontab .

Qui spieghiamo come funziona e faremo un esempio di come configurarlo.

-----------------------------------------

Ogni linea di un file crontab segue un formato particolare, composta da una serie di campi separati da spazi o tabulazioni. I campi possono avere un solo valore o una serie di valori.

 

Operatori

Esistono diversi modi per specificare valori multipli in un campo:

  • L'operatore virgola («,») specifica una lista di valori, ad esempio: «1,3,4,7,8».
  • L'operatore trattino («-») specifica un intervallo di valori, ad esempio: «1-6», che equivale a «1,2,3,4,5,6».
  • L'operatore asterisco («*») specifica tutti i possibili valori di un campo. Ad esempio, un asterisco nel campo dell'ora è equivalente a «ogni ora».

Esiste anche un operatore supportato da alcune versioni estese del cron, l'operatore sbarra («/»), che può essere usato per saltare un certo numero di valori. Ad esempio, «*/3» nel campo dell'ora equivale a «0,3,6,9,12,15,18,21»; l'operatore «*» specifica «ogni ora», ma il «/3» indica che solo il primo, quarto, settimo e così via dei valori restituiti da «*» vengano usati.

 

Campi

I primi cinque campi su ogni riga specificano con che frequenza e quando eseguire un comando.

.---------------- [m]inute: minuto (0 - 59) 
|  .------------- [h]our: ora (0 - 23)
|  |  .---------- [d]ay [o]f [m]onth: giorno del mese (1 - 31)
|  |  |  .------- [mon]th: mese (1 - 12) OPPURE jan,feb,mar,apr... 
|  |  |  |  .---- [d]ay [o]f [w]eek: giorno della settimana (0 - 6) 
|  |  |  |  |

*  *  *  *  *  comando da eseguire

Note:

  1. Per «giorno della settimana» (5º campo), sia 0 che 7 sono considerati il valore domenica.
  2. Se sia «giorno del mese» (3º campo) che «giorno della settimana» (5º campo) sono presenti sulla stessa linea, il comando viene eseguito quando almeno uno dei due è vero.

Il sesto campo e i successivi (ossia, il resto della linea) specificano il comando da eseguire.

ESEMPIO1 Mettiamo caso che abbiamo un webserver e vogliamo creare un backup della directory del webserver ogni settimana allora scriveremo

0  0  *  *  0  cp -R /Root_Dir_Sito/ /Directory_Che_vogliamo_noi/

Questo farà si che ogni domenica alle 00.00 (Mezzanotte), farà una copia di backup della root del nostro sito in una directory da noi scelta

ESEMPIO2

Mettiamo caso di avere il nostro solito sito web, ma questa volta vorremo effettuare il backup del nostro database, la sintassi del comando sarà:

0  0  *  *  0  mysqldump -uUser -pPassword Database > file.sql

Questo scaturirà un dump del nostro Database ogni mezzanotte di tutte le domeniche

Scritto il 2/12/2010

Lascia un Commento



Lascia un commento

N.B. I messaggi sono soggetti a controllo preventivo, quindi non saranno pubblicati direttamente, ma solo dopo conferma da parte dell'amministratore di sistema. Si prega di non lasciare commenti offensivi, o che possano ledere la dignità di alcuno, si ricorda che verranno salvati i dati (IP,ecc..) per eventuali azioni legali,in caso di illeciti, agli organi competenti.

Nome
Mail (Non verrà pubblicata)
WWW:
Messaggio:
Pagina Creata in 1.5625 secondi.