Я предполагаю, что вы знаете, как это сделать из командной строки. Из задачи Symfony вы вызываете системную команду, используя функцию passthru () из стандарта PHP.
Следующие 2 функции в PHP могут помочь.
function mysystem($cmd)
{
passthru($cmd, $val);
if ($val != 0)
{
mydie("Command $cmd exited with nonzero exit status $val\n");
}
}
// PHP's die() exits with a happy status, which is useless in scripts
function mydie($s)
{
fwrite(STDERR, $s);
exit(1);
}
Из скрипта вы бы сделали что-то похожее на следующее.
- crontab -l | grep -v "работа, которую вы добавляете"> oldcrontab # remove
любые дубликаты работ
- echo "добавляемая работа cron" >> oldcrontab # добавить новую работу
- crontab oldcrontab # перезагрузить crontab
Просто используйте ту же стратегию, но из PHP, используя вышеуказанные функции. Это должно сработать.