Общий способ сделать это через cron:
0,45 0,3,6,9,12,15,18,21 * * *
30 1,4,7,10,13,16,19,22 * * *
15 2,5,8,11,14,17,20,23 * * * .
Более элегантным способом сделать это было бы изменение вашего сценария на то, чтобы он учитывал время и проверял себя по записи cron, запущенной каждые 15 минут:
*/15 * * * * ... .