uhm ... lanciarlo da crontab ?

dico ti fai una tabella/file dove scrivi
esegui = -1(in esecuzione) - 0(non eseguire) - 1(esegui)
e in cron ongi x tempo controlli se deve eseguire o meno.

E' tipo un listener da cron tab.