Uma maneira de fazer isso é:
- chame o roteiro pretendido uma vez por hora.
- Na primeira execução do script, verifique um arquivo temporário chamado
.runTime
. - Se tal arquivo existir
- Analise e obtenha o formato de 24 horas a partir dele.
- Se a hora atual for igual ao tempo analisado
- Exclua o arquivo
.runTime
e execute o script pretendido
- Exclua o arquivo
- Se for uma hora diferente - anule a execução
- Se não houver tal arquivo e a hora for 0 (meia-noite)
- calcular uma hora aleatória entre 0 e 23 e gravá-la no arquivo