Как с помощью php изменить задание cron?

Есть задание в cron. Нужно как-то с помощью php изменить периодичность выполнения этого задания. Как это сделать?
  • Вопрос задан
  • 3261 просмотр
Пригласить эксперта
Ответы на вопрос 3
ilyaplot
@ilyaplot
PHP программист
Запускайте php файл каждую минуту, а внутри этого скрипта уже определяйте, пора ли ему запускаться. Получится самый правильный и безопасный вариант.
Ответ написан
Комментировать
gbg
@gbg
Любые ответы на любые вопросы
Изменить файл /etc/crontab.
С точки зрения безопасности, это огромная дыра - давать PHP доступ к этому файлу.
Ответ написан
Комментировать
//получаем список работ для пользователя user
$currentJobs = shell_exec("crontab -u user -l");
//вносим нужные изменения в расписание работ
...
//сохраняем все во временном файле
$filename = tempnam(sys_get_temp_dir(), 'crontab');
file_put_contents($filename, $currentJobs);
//обновляем cron
exec("crontab -u user " . $filename);


Только надо учитывать, что у пользователя, от которого запускается этот PHP-скрипт, должны быть права на редактирование cron пользователя user.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы