di: Claudio Garau 29 Gennaio 2009
Crontab è un programma utilizzato all'interno di sistemi operativi Linux e Unix per l'esecuzione di determinate istruzioni ad intervalli di tempo regolari o in un particolare momento predefinito dall'utente (scheduling); il crontab è quindi anche un'operazione per la registrazione di comandi che dovranno essere eseguiti automaticamente sulla base di regole stabilite dall'utente, questa operazione viene generalmente scritta all'interno di file che contengono la lista delle istruzioni da eseguire.
Generalmente un'operazione di pianificazione tramite crontab presenta nella sua procedura alcune costanti:
Un classico esempio di crontab è quello relativo alla realizzazione di un file contenente le istruzioni per pianificare nel tempo la creazione di copie di sicurezza di file, record di database o impostazioni di sistema; si tratta di elementi che subiscono spesso delle modifiche, diventa quindi necessario (anche per questioni di sicurezza) programmare dei backup periodici.
Nel corso di questa breve trattazione vedremo come sia possibile creare file di crontab per eseguire operazioni in un linguaggio solitamente destinato ad altri scopi, la generazione di pagine Web, come PHP.
In ambiente Linux il crontab si basa sulla presenza di un demone (daemon in lingua Inglese, cioè processo in esecuzione in background) denominato Crond che, senza alcun intervento dell'utente, accede periodicamente (generalmente una volta ogni minuto) ai contenuti del registro dei comandi programmati (cronjobs) e manda in esecuzione quelli previsti per l'intervallo di tempo corrente o per i quali è terminato il periodo di attesa.
Generalmente queste istruzioni sono salvate in file memorizzati all'interno della directory /etc o delle sue sottocartelle.
Per quanto riguarda i crontab realizzati per PHP la procedura non è sostanzialmente differente: possono essere eseguiti tramite crontab tutti i comandi che è possibile richiamare da shell tramite istruzioni da linea di comando e questo è possibile anche per le istruzioni scritte in PHP grazie al supporto per CLI (Command Line Interface).
Un'istruzione da shell può contenere la lista completa delle istruzioni da eseguire, oppure è possibile richiamare il file contenente le istruzioni grazie all'interprete del linguaggio, ad esempio:
/usr/local/bin/php /directory/file.php
Nell'esempio appena esposto, l'interprete (/usr/local/bin/php) non è necessariamente collocato nella stessa directory del file PHP destinato ad eseguire le istruzioni, ma sarà quest'ultimo a generare l'output; se invece si desidera rindirizzare l'output su un terzo file questo dovrà essere specificato nel comando:
/usr/local/bin/php /directory/file.php > /directory/file
Un file crontab funziona nello stesso modo con alcune sostanziali differenze:
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Guida PHP con Windows e IISInstallare ambienti per lo sviluppo e la produzione di applicazioni... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base27 Febbraio 2012 a Milano |
|
|
Corso Google AdWords Base28 Marzo 2012 a Roma |