Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Linux :: Eseguire programmi in determinati orari con CRON :: Indice Linux

Eseguire programmi in determinati orari con CRON

Categoria: Linux Inserito il: 20-02-2007 Stampa (27207 click)

Una delle richieste più postate nei vari forum dedicati a LINUX è quella relativa all'esecuzione di determinate operazioni in orari predefiniti dall'utente; possiamo per esempio avere la necessità di operare quotidianamente il back up dei nostri database allo scadere della mezzanotte, oppure possiamo decidere di riavviare il nostro server in un certo giorno del mese ad un ora prestabilita.
Temporizzare l'esecuzione di un'istruzione prende il nome di scheduling.

Per questo tipo di operazioni abbiamo a disposizione CRON, un'applicazione che viene lanciata da rc o rc.local senza la necessità dell'intervento "umano" se non nella sua programmazione.

CRON esegue una ricerca del file "/etc/crontab" riguardo le voci (entry) del sistema e di "/var/spool/cron" per quelle corrispondenti agli utenti indicati da "/etc/passwd".

In pratica CRON non fà altro che controllare continuamente se ci sono istruzioni da eseguire e se quelle istruzioni sono state modificate rispetto al controllo effettuato precedentemente; nel caso in cui ci siano state delle modifiche sarà CRON stesso ad individuarle, senza la necessità del nostro intervento.

Dando uno sguardo alla directory etc del nostro file system, troveremo sicuramente alcuni file denominati 'cron.hourly', 'cron.daily', 'cron.weekly' o 'cron.monthly' in cui sono indicate le operazioni pianificate per ora, giorno e via dicendo.

Gli utenti potranno pianificare le proprie operazioni utilizzando il comando crontab con la seguente sintassi:

crontab nome_file
dove 'nome_file' è appunto il nome del file che utilizzeremo per lo scheduling dei processi che desideriano eseguire periodicamente.
crontab accetta tre opzioni:
  • -l: visualizza i file nello standard output.
  • -e: edita il file passato come parametro.
  • -r: rimuove il file di crontab indicato al comando.
Concludiamo il nostro discorso lasciando al lettore un piccolo esempio di istruzione tramite CRON, con l'aiuto del manuale in linea sarà facile implementare scheduling adatti alle nostre esigenze:
30 0 * * *    /home/claudio/bin/file.sh
L'istruzione indica in pratica un file contenente i parametri per eseguire una determinata operazione tutti i giorni alle 00:30.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Installare PostgreSQL su Windows
Coloro che non hanno pratica di sistemi operativi UNIX o unix-like come Linux, potranno in ogni caso utilizzare PostgreSQL in... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti