Запуск CodeIgniter cron на локальном хосте - PullRequest
1 голос
/ 01 июня 2010

Я пытаюсь заставить задание cron запускаться каждые 5 минут на моем локальном хосте. Используя приложение Cronnix, я ввел следующую команду

0,5 * * * * root curl http://localhost:8888/site/  > /dev/null

Сценарий работает нормально, когда я захожу в браузер http://localhost:8888/site/. Я читал кое-что о том, как заставить CI работать на Cron, используя wget и другие опции, но ни один из них не имеет большого смысла.

В другом посте SO я нашел следующую команду

wget -O - -q -t 1 http://www.example.com/cron/run

Что такое синтаксис "-O - -q -t 1"?

Есть ли другие варианты?

Ответы [ 3 ]

4 голосов
/ 01 июня 2010

-O - Означает, что вывод идет в стандартный вывод (-O / dev / null) приведет к аннулированию любого вывода. -q означает быть тихим (не печатать никаких индикаторов выполнения), это испортило бы внешний вид любых файлов журнала. -t 1 означает попробовать только один раз. Если соединение не установлено или время ожидания истекло, оно не будет пытаться повторить попытку.

См. http://linux.die.net/man/1/wget для полного руководства по команде wget.

Редактировать: только что понял, что вы все это передаете в / dev / null, вы можете либо опустить параметр -O, либо указать / dev / null и пропустить последний канал.

1 голос
/ 01 июня 2010

Что я всегда делаю, так это использую PHP в режиме cli. Мне кажется более эффективным.

сначала настройте запись cron как:

*/5 * * * * /usr/bin/php /var/www/html/cronnedscript.php

Файл cronnedscript.php должен быть помещен в корневую папку www.

затем отредактируйте cronnedscript.php с помощью:

<?php
$_GET["/mycontroller/index"] = null;
require "index.php";
?>

где mycrontroller - контроллер CI, который вы хотите запустить.

если вы хотите, чтобы контроллер запускался только crond, в отличие от публичных запросов www, добавьте следующую строку в контроллер и в cronnedscript.php:

if (isset($_SERVER['REMOTE_ADDR'])) die('Permission denied');
0 голосов
/ 01 июня 2010

Я понимаю, что это ссылка на Drupal, однако они очень хорошо объясняют, что означает каждый параметр в вызове wget.

Drupal Cron Объяснение

Если вам нужно более общее объяснение, вы можете найти его здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...