Fare un programma PHP che girerà fra un po’ di tempo
Giovanni
| Argomenti: php, cron, batch, at | 2756
Facendo seguito all’articolo scritto su come fare per far si che un programma PHP venga lanciato ciclicamente, in questo articolo vediamo come fare per schedulare un programma PHP (e non solo, un qualsiasi batch UNIX) ad un determinato momento (come ad esempio oggi alle 22:00, oppure il 3 gennaio alle 10:05, o anche fra un’ora).
Il comando che ci viene incontro per effettuare questa operazione è il comando at di UNIX. Questo comando permette proprio la schedulazione di un’attività in un certo momento predefinito o ad un delta rispetto alla data attuale.
Vediamolo più nel dettaglio. Innanzitutto un semplice esempio:
at now + 2 hours < /home/myhome/mybatch.com
Permette di schedulare il batch /home/myhome/mybatch.com tra due ore a partire da adesso.
Notare che so previsti, nel primo parametro, dei nomi speciali:
- now + significa “tot tempo da adesso”
- hours significa ore
- minutes significa minuti
- days significa giorni
- weeks significa settimane
Quindi definendo delle stringhe del tipo “now + 10 minutes”, “now + 4 days” riusciamo a schedulare le attività ad una certa distanza da adesso.
Questa tipologia è molto utile in eventi schedulati al cron (per dire, ad esempio, 10 minuti dalla fine del backup fai una determinata operazione) e per eventi da effettuare rispetto alla partenza della macchina.
Esiste comunque anche la possibilità di schedulare attività senza il “now +”, nel caso è sufficiente specificare l’ora (HH:MM) oppure la data nei vari formati previsti (ad esempio MMDDYY oppure MM/DD/YY oppure DD.MM.YY).
Tante altre combinazioni sono possibili, ma vi rimando al manuale del man per ottenere configurazioni particolari.
Pubblicato in Funzioni e classi PHP e C |
16 Gennaio 2007 alle 14:58
molto utile! :) GRAZIE ^__^
9 Febbraio 2007 alle 12:10
Ho pubblicato altre soluzione sul mio blog: Cron e PHP
Ciao e complimenti!
9 Febbraio 2007 alle 12:13
Ho pubblicato altre soluzione sul mio blog: Cron e PHP.
Ciao e complimenti!
30 Maggio 2007 alle 16:57
Bell’articolo e bel sito! :)
Volevo chiederti se potevi contattarmi via mail, non ho trovato la tua mail da nessuna parte nel sito!
2 Giugno 2007 alle 14:36
Il mail (non pubblicato per problemi di spam) è info@ seguito dal nome del sito.