Вы можете использовать облачный сервис, чтобы сделать это (бесплатно я считаю). Я бы настроил функцию Lambda , которая запускается событием CloudWatch . Событие Cloudwatch может быть выражением Cron, которое будет вызывать лямбду по заданному расписанию.
Ваши выражения Cron будут выглядеть следующим образом:
0 0 0 * * ? // Every Day at Midnight
0 0 0 */7 * ? // Every 7 Days at Midnight
0 0 0 1L * ? // Last Sunday of the Month at Midnight
Подробнее о выражениях Cron здесь