Я включил следующую команду crontab -e
:
15 * * * * php /home/rizwan/PHP-workspace/mgstore/testcron.php
Я должен работать testcron.php
каждые 15 минут; для тестирования я использовал следующий код PHP в testcron.php
:
<?php
echo "test";
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php >> /home/rizwan/cron.out
это работало .but, у меня есть один сценарий PHP для добавления клиентов от магнето до ERP, когда я запускаю скрипт вручную, это просит авторизацию после принятия, что это создает клиентов в ERP от магнето, мне нужно каждый раз, когда я добавил клиента в магнето после 5 или 10 минут, этот сценарий должен выполнить и добавить клиента к ERP.how, это может быть сделано?, Если у кого-либо есть какая-либо идея, помогите?
Сначала, несомненно, необходимо будет выполнить исполняемый файл полным путем. можно получить путь с помощью which
команда
$ which php
/usr/bin/php
Теперь, запись в crontab должна быть:
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php
Теперь Для проверки вывода можно использовать прием перенаправления, так перенаправьте вывод в некоторый файл, и затем можно проверить файл для наблюдения результата. Таким образом, запись была бы:
15 * * * * /usr/bin/php /home/rizwan/PHP-workspace/mgstore/testcron.php >> /home/rizwan/cron.out
Теперь можно проверить файл в домашнее именованное cron.out
и видеть если выполненный крон или нет.
В PHP Вы можно использовать или оператор обратной галочки или эти shell_exec()
функция для выполнения команды в оболочке системы по умолчанию; Вы могли выполнить pgrep 'php /home/rizwan/PHP-workspace/mgstore/testcron.php'
и оценить его код возврата; любой это:
<?php
if(!($PID = `pgrep 'php /home/rizwan/PHP-workspace/mgstore/testcron.php'`))
echo 'Process is running with PID ' . $PID . '.';
?>
Или это:
<?php
if(!($PID = shell_exec("pgrep 'php /home/rizwan/PHP-workspace/mgstore/testcron.php'")))
echo 'Process is running with PID ' . $PID . '.';
?>