Установите задание cron для абсолютного пути

Я использую фреймворк MVC. Теперь я хочу настроить cron таким образом, чтобы URL-адрес «http://www.xyz.com/controllera/functiona» выполнялся. что я должен написать в разделе пути для него.

Я получил что-то о команде «GET», но это было неясно.

Может кто-нибудь, пожалуйста, помогите мне с этим?


person Abhishek Sanghvi    schedule 17.01.2012    source источник
comment
язык php, платформа linux   -  person Abhishek Sanghvi    schedule 17.01.2012
comment
О какой структуре MVC в PHP вы говорите?   -  person Basile Starynkevitch    schedule 17.01.2012


Ответы (2)


Поскольку вы не указали какую-либо структуру, единственный способ запустить этот cron - это команда

  wget --spider 'http://www.xyz.com/controllera/functiona'

Я предполагаю, что вы используете структуру MVC, поскольку controllera находится в URL-адресе. Если бы это был фреймворк Kohana (2.3), я бы запустил его

  /usr/bin/php /path/to/index.php controller/method

Большинство фреймворков имеют интерфейс cli для запуска метода контроллера. Найдите свой фреймворк.

См. эти ссылки для различных фреймворков.

  1. Зенд Фреймворк
  2. Кохана 2 и 3
  3. Codeignier
  4. Yii
person Shiplu Mokaddim    schedule 17.01.2012

Я не понимаю часть вашего вопроса о «модуле под названием cron». Я полагаю, вы запутались, cron — это служба в Linux и других системах Unix, настроенная через crontab.

Запись crontab(5) определяется временем и датой, а также командой для запуска.

В системах Linux и Posix вы не можете выполнить или запустить URL-адрес. Запуск чего-либо включает системный вызов execve(2), для которого требуется путь к исполняемому файлу (и аргументы).

Возможно, вы хотите получить какой-либо URL-адрес, используя протокол HTTP. Вы можете использовать HTTP-клиент командной строки, например wget или curl.

Так что, возможно, команда, которую вы хотите запустить в своем crontab, может быть

 wget http://www.xyz.com/controllera/functiona

но вы можете использовать curl

Я предполагаю, что вы запутались и недостаточно хорошо понимаете свой вопрос. Подумайте о том, чтобы прочитать некоторые материалы.

Например, чтобы получить этот URL-адрес один раз в день в 15:00, вам потребуется следующая запись в crontab:

   # run everyday at 3 pm a GET HTTP request
   0 15 * * *  /usr/bin/wget http://www.xyz.com/controllera/functiona

Используйте команду crontab(1) для настройки crontab (который может содержать несколько записей и несколько определений переменных, поэтому вам, возможно, придется отредактировать его).

person Basile Starynkevitch    schedule 17.01.2012
comment
я знаю, что cron - это служба Linux, и модуль оператора, называемый cron, означает, что у меня есть модуль в структуре mvc, имя которого cron (его можно изменить на что угодно, например, для aaa, bbb и т. д.) Мой вопрос можно рассмотреть так же просто, как настроить cron для абсолютного URL-адреса - person Abhishek Sanghvi; 17.01.2012
comment
Тогда вам следует обратиться к документации по вашей структуре MVC (которую вы не назвали, я понятия не имею, о какой инфраструктуре MVC вы говорите). Возможно, ваш фреймворк использует слово cron для какой-то другой цели. - person Basile Starynkevitch; 17.01.2012
comment
Cron в ИТ-терминах имеет только одно определение. Как я уже говорил, имя модуля cron можно заменить любым другим словом. - person Abhishek Sanghvi; 17.01.2012
comment
Тогда мой ответ уместен. - person Basile Starynkevitch; 17.01.2012