Работа в Cron

Я пытаюсь выполнить задание cron с сайтом, созданным в CodeIgniter. У меня есть доступ к функции CPanel cron. Кто-нибудь может предложить лучший способ настроить работу cron с помощью CPanel?

Я использую CodIgniter, поэтому не могу быть уверенным, как вызвать контроллер в рамках работы cron?

Например http://admin.com/sites/publish/

Как я могу получить доступ к этой функции публикации в контроллерах сайтов с помощью задания cron?

Related of "Работа в Cron"

Лучший способ – вызвать из командной строки в задании cron …

 php /path/to/index.php controller >> /dev/null 

Вы можете запускать контроллеры через командную строку в CI, см. Здесь .

Для меня более простой способ сделать это – использовать cURL и выполнить url в cron:

 curl http://admin.com/sites/publish/ 

Если вам необходимо защитить URL-адрес, вы можете отправить данные через сообщение, используя:

 curl -X POST -d "apikey=yourapikey&another=variable" http://admin.com/sites/publish/ 

Таким образом, вам не нужно бороться с параметрами php и различными конфигурациями.

Я делаю это так, создаю папку cron

 /application /cron my_task.php /public 

сделать скрипт для каждого задания cron /cron/my_task.php с содержимым

 <? $_SERVER["SCRIPT_URL"] = "/controllerName/MethodName"; // you can set url in routes if you want $_SERVER["HTTP_HOST"] = "your_site_address.com"; // without http://www require(dirname(__FILE__) . "/../public/index.php"); // path to index.php ?> 

сделать контроллер Cron похожим на другие, но добавить проверку на IP в __construct

и окончательный запуск, как

 1 10 * * * cd /path_to_site_folder/cron/ && usr/local/bin/php /path_to_site_folder/cron/my_task.php >> path_to_log/some.log 

Для Cronjob попробуйте это, чтобы получить доступ к контроллеру командной строки, функциям и параметрам:

 php index.php/controller/function/param1/param2/param3 etc 

или

 php index.php controller function param1 param2 param3 etc