Выполнение / запуск нескольких скриптов php cron из одного задания cron - PullRequest
0 голосов
/ 31 августа 2011

Я пытаюсь настроить PHP-файл как задание cron, где этот PHP-файл включает / выполняет / запускает другие PHP-файлы.Я пытаюсь добиться этого, потому что мой хост разрешает всего 5 заданий cron для всех размещенных доменов, поэтому я пытаюсь скомпилировать задания в определенные задания cron.

Файл, который я запускаю через cronСамо задание находится в

/home/XXXXX/data/cron/tasks/run.php

-

Включаемые файлы находятся в

/home/XXXXX/domains/domain.co.uk/html/cms/apps/scripts/twitter.php  
/home/XXXXX/domains/domain.com/html/generator/runcrawl.php 
/home/XXXXX/domains/domain.net/html/cms/apps/scripts/sitemap.php

-

Как включить этот конфигфайл из run.php?Я попытался сделать include_once('/home/XXXXX/domains/domain.co.uk/html/cms/apps/scripts/twitter.php ');, но вернул ошибки.

Я также попытался добавить, используя следующее в run.php, но не повезло!

exec('php /home/XXXXX/domains/domain.co.uk/html/cms/apps/scripts/twitter.php');
exec('php /home/XXXXX/domains/domain.com/html/generator/runcrawl.php');
exec('php /home/XXXXX/domains/domain.net/html/cms/apps/scripts/sitemap.php');

-

Настройка задания cron через панель управления выглядит следующим образом, и я знаю, что это правильно

php /home/XXXXXX/data/cron/tasks/run.php 

Я не уверен, что это легко сделать с помощью сценария оболочки?Есть мысли, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2012

Попробуйте создать сценарий оболочки.Откройте ваш текстовый редактор и сделайте следующее:

#!/bin/bash

wget -q /home/XXXXX/domains/domain.co.uk/html/cms/apps/scripts/twitter.php

sleep 5

wget -q /home/XXXXX/domains/domain.com/html/generator/runcrawl.php 

sleep 5

wget -q /home/XXXXX/domains/domain.com/html/generator/runcrawl.php 

Это выполнит скрипт php с помощью команды wget в тихом режиме.И добавит 5-секундную паузу между сценариями.

Сохраните его как any_name.sh и загрузите его на свой сервер, не забудьте дать разрешение на выполнение всем файлам и добавить его в задание cron.

0 голосов
/ 31 августа 2011

Маловероятно, что ваш ограниченный хост позволит вам пересекать доменные папки, так как это может быть проблемой безопасности. Если вы не можете получить доступ к файлам в разных каталогах, подумайте о том, чтобы получить начальное задание cron для вызова других файлов с использованием php cURL. Недостатком этого метода является то, что файлы должны находиться в общедоступном каталоге html.

http://www.php.net/manual/en/ref.curl.php

...