Sergio Sarnari Filòsofia informatica
e sue applicazioni... di Sergio Sarnari
Blog



programmazione

Eseguire script PHP ad intervalli di tempo regolari

Scritto da Sergio Sarnari il 02/09/07 alle 14.20 nella categoria Programmazione

Nonostante il poco tempo, torno alla carica con un articolo tecnico che sarà utile ai più.
A volte capita di aver bisogno di eseguire delle operazioni di routine, backup di un db, invio di mailinglist oppure di auguri di compleanno, ecc... per farlo si può ricorrere a degli script php che effettuano un controllo sulla data e registrano un log delle attività, ma per essere eseguiti c'è sempre bisogno di almeno un visitatore che apra la pagina dove sono inclusi questi script. Il metodo funziona in caso si necessiti di un check al giorno, ma è un po' "casereccio".

Nei sistemi operativi Unix ci viene in aiuto il comando crontab.
Per eseguire questo comando bisogna accedere via SSH al proprio server tramite putty o programmi similari, inoltre l'utente con cui ci ci logghiamo deve avere il permesso di utilizzare il demone cron (suona bene, dovrò usarlo per il mio prossimo racconto fantasy).
Il demone viene eseguito automaticamente ogni minuto dal sistema, in caso l'ora coincida con un cronjob da eseguire, allora lancia il comando impostato.

Gli script che vogliamo eseguire periodicamente vanno inseriti nel file crontab dell'utente.

I comandi più importanti per "parlare" con il demone sono i seguenti:

crontab -l    // visualizza il file crontab dell'utente corrente
crontab -e    // crea o modifica il file crontab dell'utente corrente
crontab -r    // cancella il file crontab dell'utente corrente

Una volta eseguito l'editor dei cronjob  digitando "crontab -e" nella shell, ci troveremo davanti ad un'amichevole schermata nera, dove dovremo impostare i comandi che vorremo schedulare, seguendo la seguente sintassi:

* * * * * comando da eseguire


Ogni asterisco corrisponde ad uno dei seguenti valori:
1) minuti (0 - 59)
2) ora (0 - 23)
3) giorno del mese (1 - 31)
4) mese (1 - 12)
5) giorno della settimana (0 - 6) (domenica=0)




Esempi di base:


00 8 * * * /usr/lib/php /home/web/www.sito.it/backup.php
(utilizza l'interprete php nella cartella /usr/lib/ per eseguire lo script backup.php alle 8.00 di ogni giorno)

00 8 * 15 * /usr/lib/php /home/web/www.sito.it/backup.php
(esegue lo script backup.php nei giorni 15  di ogni mese alle 8.00)

00 8 * * 0 /usr/lib/php /home/web/www.sito.it/backup.php
(esegue lo script backup.php tutte le domeniche alle 8.00)

Raccomandazione:
non inserite il terzo ed il quinto campo contemporaneamente (il numero del giorno ed il giorno della settimana), perchè si escludono a vicenda ed averli entrambi genera un errore.


tratteggio
Commenti (1) | Permalink| 1879 letture

utilissimo!!!! Sto cercando di realizzare una pagina che cambi script in base all'ora.. puoi aiutarmi!!??
Scritto da Dario il 29/06/08
tratteggio

Lascia un commento
Nome (obbligatorio)
Sito web (con "http://" davanti)
Codice di verifica: che giorno è oggi? (obbligatorio)




¢ 2006-2009 Sergio Sarnari - Tutti i testi contenuti su questo sito sono rilasciati sotto licenza Creative Commons. Per informazioni: clicca qui
Se la piattaforma di questo blog ti sembra Wordpress... ripensaci
per iniziare:
Qualcosa su di me Contattami
Le mie foto I miei cinguettii
Facebook I feed al mio sito

categorie:
Attualitā (5)
Cinema (1)
Cucina e ricette (3)
Filosofia (2)
Internet (20)
Lavori e progetti (3)
Letteratura (2)
Linux (1)
Marketing (7)
Personale (20)
Programmazione (9)
SEO (12)
Sicurezza (4)
Societā (24)
Svago (8)
Tango argentino (1)
Tecnologia (2)

qualche foto :
www.flickr.com

progetti:
ancestrale.it
rievocazioni.net
anconalavoro.it
maceratalavoro.it
pavialavoro.it
cesenalavoro.net
vivaeltango.net

mi piace leggere:
Andrea Cappello
Fabio dell'Orto
John Battelle
Nicola Mattina
Pandemia

amici:
5 minuti di relax
Adriano
Alessandro
Alessio
Angelo
CarpeDiem13
Dentro al replay
Gaspatcho
Giovy's Blog
Gioxx
Ilaria
kOoLiNuS
Lara
Luca Conti
Luca Lorenzetti
Marco
Maxime
Michele L.
Michele P.
Motor-Bike
Professione turismo
Tommaso
Visitancona

archivi:
Gennaio 2009 (2)
Dicembre 2008 (4)
Novembre 2008 (2)
Ottobre 2008 (6)
Settembre 2008 (4)
Agosto 2008 (6)
Luglio 2008 (11)
Giugno 2008 (7)
Maggio 2008 (4)
Marzo 2008 (5)
Febbraio 2008 (1)
Gennaio 2008 (2)
Dicembre 2007 (5)
Novembre 2007 (5)
Ottobre 2007 (2)
Settembre 2007 (2)
Agosto 2007 (2)
Luglio 2007 (3)
Giugno 2007 (7)
Maggio 2007 (2)
Aprile 2007 (10)
Marzo 2007 (7)
Febbraio 2007 (6)
Gennaio 2007 (11)
Dicembre 2006 (8)

citazioni:
CitDa bambino ero abbastanza spensierato, ma mi annoiavo da morire.Cit
Kevin Mitnick

post più letti:
(degli ultimi due mesi)

Smettitela di parlare o sei un giornale
Scenari possibili per uscire dalla crisi
Facebook: You have exceeded the limit for posting on walls!
Canto di Natale
Bypass z-index -1000 on Considero Alive MP3 Player - DNN
Auguri di buon anno!
Manuale del perfetto signore del male

ultimi commenti:
Caro Sergio, ti segnalo/consig...
Scritto da Endymion il 05/01/09
Caro Assenzio, non sono molto...
Scritto da Sergio il 04/01/09
Violet, tra i Matter L. il Bre...
Scritto da Endymion il 03/01/09
SI DIREBBERO MAGIE... E inv...
Scritto da Assenzio il 03/01/09
ciao direi che č proprio la s...
Scritto da marina il 03/01/09
Geniale!!!!!!!!!!!!!!!!!!...
Scritto da marco il 30/12/08
Tanti Auguri di Buon Natale, S...
Scritto da 4 EveR YounG il 23/12/08
Dopo aver finito un buon Breva...
Scritto da Violet il 16/12/08
Ottimo! Proprio quello che cer...
Scritto da Downloadsoftwarefree il 15/12/08
Anche "E hanno un piano!" č un...
Scritto da Gabriele il 14/12/08

sto leggendo:



questo blog...
Non utilizza CMS di terze parti; č stato realizzato dalla A alla Z dal sottoscritto e si attiene agli standard del World Wide Web Consortium
Valid XHTML 1.0 Transitional  Valid XHTML 1.0 Transitional


disclaimer:
1.questo blog non rappresenta una testata giornalistica in quanto viene aggiornato senza alcuna periodicità
2.non fate i prepotenti, non lo sopporto
3.non ho ovviamente responsabilità per commenti di terze persone 4.se su questo blog trovate qualcosa che non vi piace, parlatene con me
5.a volte inserisco del materiale preso da internet, se è vostro e non vi sta bene fatemi sapere