Как написать и выполнить команду cron job в php скрипте?

Я пытаюсь выполнить команду 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-скрипта, но я ни к чему не пришел. Пожалуйста, помогите мне здесь. Спасибо.

Возможный дубликат замените файл crontab на -e

Agnius Vasiliauskas 10.01.2019 10:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
56
1

Ответы 1

Предполагая, что вы хотите запланировать новые cronjobs, это не способ сделать это.

Я предлагаю создать таблицу базы данных для запланированных заданий с полем даты, когда они должны быть выполнены, и полем даты, когда они были выполнены в последний раз. Затем вы вручную создаете задание cron для запуска сценария, который проверяет новую таблицу, чтобы увидеть, есть ли какие-либо задания, срок выполнения которых истек (schedule_datetime> current_datetime && last_execution_datetime <schedule_datetime). Если это так, он запускает их и обновляет last_execution_datetime до времени и даты выполнения.

На самом деле моя цель здесь - динамически запланировать cronjob сразу после запроса на вставку с этими переменными времени и даты, передаваемыми команде.

Srikar Reddy 10.01.2019 09:36

Да, если я правильно понимаю ваш код, вы хотите запланировать отправку исходящего электронного письма. Это одноразовая отправка или одно и то же письмо отправляется регулярно? В первом случае это можно сделать проще. Создайте столбец в таблице электронной почты, чтобы отслеживать, было ли письмо отправлено или нет. Создайте сценарий, который проверяет, прошло ли время отправки электронного письма по расписанию и было ли оно отправлено. Если он еще не отправлен и время прошло, пусть скрипт выполнит ваш ежемесячныйautomaticemail.php. Создайте задание cron для запуска первого скрипта так часто, как вы хотите проверять, возможно, раз в минуту.

Fabian 10.01.2019 10:22

Другие вопросы по теме