Я пытаюсь выполнить команду cronjob из сценария, для этого я пишу код ниже, но ничего не происходит. Может кто-нибудь, пожалуйста, помогите мне здесь.
$query = "INSERT INTO master_schedule_email(date, time,active_status) VALUES ('$date','$time','1')";
$exec = mysql_query($query) or die ("Error in Query".mysql_error());
$minute = date ('i' , strtotime($time));
$hour = date ('H' , strtotime($time));
$date = date ('d' , strtotime($date));
$month = date ('m' , strtotime($date));
$croncommand = "$minute $hour $date $month * monthlyautomaticmail.php";
exec($croncommand);
Здесь я хочу запустить команду задания cron в точное время и дату, которые вставляются в таблицу db.
Могу ли я узнать, правильный ли способ запланировать cronjob из php-скрипта?
Я думал, что именно так мы выполняем команду терминала из php-скрипта, но я ни к чему не пришел. Пожалуйста, помогите мне здесь. Спасибо.






Предполагая, что вы хотите запланировать новые cronjobs, это не способ сделать это.
Я предлагаю создать таблицу базы данных для запланированных заданий с полем даты, когда они должны быть выполнены, и полем даты, когда они были выполнены в последний раз. Затем вы вручную создаете задание cron для запуска сценария, который проверяет новую таблицу, чтобы увидеть, есть ли какие-либо задания, срок выполнения которых истек (schedule_datetime> current_datetime && last_execution_datetime <schedule_datetime). Если это так, он запускает их и обновляет last_execution_datetime до времени и даты выполнения.
На самом деле моя цель здесь - динамически запланировать cronjob сразу после запроса на вставку с этими переменными времени и даты, передаваемыми команде.
Да, если я правильно понимаю ваш код, вы хотите запланировать отправку исходящего электронного письма. Это одноразовая отправка или одно и то же письмо отправляется регулярно? В первом случае это можно сделать проще. Создайте столбец в таблице электронной почты, чтобы отслеживать, было ли письмо отправлено или нет. Создайте сценарий, который проверяет, прошло ли время отправки электронного письма по расписанию и было ли оно отправлено. Если он еще не отправлен и время прошло, пусть скрипт выполнит ваш ежемесячныйautomaticemail.php. Создайте задание cron для запуска первого скрипта так часто, как вы хотите проверять, возможно, раз в минуту.
Возможный дубликат замените файл crontab на -e