hutnikau/job-scheduler - планировщик задач на пхп
$executionTime = new \DateTime('2017-12-12 20:00:00');
//run monthly, at 20:00:00, 5 times
$rule = new \Scheduler\Job\RRule('FREQ=MONTHLY;COUNT=5', $executionTime);
$job = new \Scheduler\Job\Job($rule, function () {
//do something
});
https://github.com/hutnikau/job-scheduler