Возможно записать в пользовательский веб-сервер crontab из PHP, в зависимости от конфигурации безопасности.
$job = "* * * * * /bin/ls";
$p = popen("crontab -", "w");
$return = fwrite($p, $job, strlen($job));
pclose($p);
Это сотрет содержимое вашего существующего crontab. Вы можете прочитать существующую работу в первую очередь:
$p = popen("crontab -l", "r");
while ($crontab[] = fgets($p)) { /* ... */ }
pclose($p);
Затем измените это соответствующим образом. Вам нужно, чтобы ваш код был идемпотентным , чтобы вы могли запускать его много раз, не беспокоясь о том, что произойдет.
Обратите внимание, что ваш хост может не позволить вашему PHP делать это, и даже если это так, это может быть не очень хорошей идеей. Как говорит @Foo, лучший способ - просто поговорить напрямую с cron. Запустите сеанс оболочки и запустите crontab -e
или посмотрите, что вы можете сделать с любым веб-интерфейсом, который вы можете получить.