20/02/2007
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_filedove 'nome_file' è appunto il nome del file che utilizzeremo per lo scheduling dei processi che desideriano eseguire periodicamente.
30 0 * * * /home/claudio/bin/file.shL'istruzione indica in pratica un file contenente i parametri per eseguire una determinata operazione tutti i giorni alle 00:30.
© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.