Home > Altro > Come utilizzare crontab di Linux

Come utilizzare crontab di Linux

Vi sara’ capitato di voler eseguire periodicamente uno script all’interno del vostro server/computer Linux senza il vostro intervento diretto. Il sistema operativo dispone di un server che permette di eseguire determinati comandi e/o script ad una determinata ora, in un determinato giorno con un intervallo di ripetizione che potete decidere. Si tratta di CRONTAB che con il suo demone “CRON” gestisce i “cronjob” secondo le vostre esigenze.

Iniziamo col dire che si possono definire restrizioni relativamente agli utenti che possono eseguire i job. Questi vanno specificati nei due file:

/usr/lib/cron/cron.deny

/usr/lib/cron/cron.allow

Se non esiste /usr/lib/cron/cron.allow tutti possono creare i loro job su cron.

E’ possibile visualizzare i task con i seguenti comandi:

‘crontab -e’: Permette di editare il vostro file di crontab , se non esiste lo crea

‘crontab -l’: Permette di visualizzare il contenuto del file di crontab e quindi tutti i task

‘crontab -r’: Elimina il file di crontabe e quindi tutti i task

‘crontab -v’: Permette di visualizzare l’ultima modifica al vostro file di crontab (disponibile solo con alcune versioni di cron server)

I task vengono elencati nel file di crontab con la segeunte forma:

* * * * * Comando-Da_Eseguire
- – – – -
| | | | |
| | | | + —– Giorno della settimana (0 – 6) (Domenica=0)
| | | + ——— Mese (1 – 12)
| | + ———— Giorno del mese (1 – 31)
| + —————- Ora (0 – 23)
+ ——————– Minuti (0 – 59)


Da considerare che il carattere * identifica la parola “ogni” quindi se lo trovate nella prima colonna identifica la parola “ogni minuto”, in seconda colonna “ogni ora” e cosi’ via…

Di seguito quindi alcuni esempi pratici di configurazione:

. Eseguire “mioscript” ogni dieci minuti:

0-50/10 * * * * mioscript

. Eseguire “mioscript” tra le 8 e le 18 ogni 20 minuti nei giorni feriali:

0,20,40 8-18 * * 1-5

. Eseguire “mioscript” ogni 8 ore:

59 0-23/8 * * *

Normalmente il demone cron invia un email di notifica all’utente di riferimento se i comandi eseguiti producono un output. Per evitare l’output dei comandi eseguiti si puo’ aggiungere alla fine il sequente:

>/dev/null 2>&1

Se invece si utilizza “vixie Cron” è possibile inserire alla fine del crontab il comando:

MAILTO=”"

All’interno delle virgolette si puo’ naturalemente scegliere di inseire un indirizzo email qualora desiderato.

A presto….scheduliamo un prossimo articolo

Categorie:Altro Tag:
  1. Nessun commento ancora...
  1. Nessun trackback ancora...