Запуск cron.php через раздел "Управление cron-ом" на хостинге valuehost.ru

Аватар пользователя muf muf 3 февраля 2008 в 19:04

support на valuehost.ru прислал строку
*/5 * * * * /usr/local/bin/php -f /pub/home/ЛОГИН/cron.php
но при этом приходит ошибка
/usr/local/bin/php -f /pub/home/ЛОГИН/cron.php
Fatal error: Call to undefined function drupal_bootstrap() in /pub/home/ЛОГИН/cron.php on line 10

скрипт cron.php выглядит так
<?php
// $Id: cron.php,v 1.36 2006/08/09 07:42:55 dries Exp $

/**
* file
* Handles incoming requests to fire off regularly-scheduled tasks (cron jobs).
*/

include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_cron_run();

10 строчка
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
Уже не знаю что и делать.
До этого пробовал раз в 5 минут (для теста).
*/5 * * * * /usr/local/bin/wget -q /pub/home/ЛОГИН/cron.php

*/5 * * * * /usr/local/bin/wget -O - -q /pub/home/ЛОГИН/cron.php

*/5 * * * * /usr/local/bin/lynx -source /pub/home/ЛОГИН/cron.php /dev/null 2>&1

При это CRON не запускается и ошибок никаких не шлётся.
Упёрся я в эту стену и что делать не знаю.
Перелопатил
http://drupal.org/node/65307
http://www.drupal.ru/node/945
http://www.drupal.ru/node/2293
всё для меня без толку...
Может кто работает на valuehost.ru и решил эту проблему? Помогите!

Комментарии

Аватар пользователя mityok mityok 3 февраля 2008 в 19:32

При вызове скрипта крона через php -f скрипт работать не будет, т.к. расчитан на запуск под управлением веб-сервера (т.е. доступ по URL).

Попробуйте вместо
*/5 * * * * /usr/local/bin/wget -O - -q /pub/home/ЛОГИН/cron.php

написать
*/5 * * * * /usr/local/bin/wget -O - -q http://ваш.домен.зона/cron.php,

т.к. основной параметр для команды wget - это URL, а не путь к файлу, другими словами вместо /pub/home/логин/cron.php нужно писать адрес страницы вида http://......./cron.php

Аватар пользователя muf muf 3 февраля 2008 в 19:45

Ответ supportА valuehost.ru
"По http крон работать не будет."

*/5 * * * * /usr/local/bin/wget -O - -q http://ваш.домен.зона/cron.php
ошибка
Could not open input file: http://ваш.домен.зона/cron.php

Кстати вручную http://ваш.домен.зона/cron.php запускается хорошо, без видимых проблем, а вот через раздел "Управление cron-ом" на хостинге valuehost.ru ФИГА!

Аватар пользователя mityok mityok 3 февраля 2008 в 19:58

Скорее всего, боятся что станете использовать wget в каких-нибудь неблагородных целях.

Как вариант решения (только ногами не пинайте), использование iframe в котором прописан cron.php.

Объясняю, что я имею в виду:
1) Создаем блок, который содержит следующий HTML-код:

<div id="cronframe">
<iframe width="1" height="1" src="/cron.php" ></iframe>
</div>

Выводим этот блок в "подвале" сайта, при этом в качестве условия отображения этого блока пишем PHP-код, который проверяет время последнего вызова, если оно отличается от текущего больше чем N минут, то отображает этот блок и апдейтит время последнего вывода блока.

В CSS-файле шаблона пишем стиль:

div#cronframe {
visibility:hidden;
}

Основной недостаток такого метода - периодичность вызова скрипта будет сильно зависеть от посещаемости сайта. С другой стороны, сайту с очень низкой посещаемостью крон нужен как собаке телепортироптель.

Кроме того, слой с iframe может повлиять на отображение вашего шаблона сайта, но это далеко не смертельно и легко лечиться.

Аватар пользователя muf muf 3 февраля 2008 в 20:19

Мучился 2 календарных дня, и вот заработало
*/5 * * * * /usr/local/bin/wget -O - -q http://ваш.домен.зона/cron.php
при чем сегодня с утра на эту строку получал ругательства, а сейчас работает без сбоев.
Видимо supportУ valuehost.ru надоело со мной переписываться или я где-то ошибался.
Короче:
На valuehost.ru
строка запускает cron.php раз в 5 минут
*/5 * * * * /usr/local/bin/wget -O - -q http://ваш.домен.зона/cron.php
Всем спасибо.

Аватар пользователя Wayfarer Wayfarer 6 июня 2010 в 11:17

на valuehost отсутствует wget, зато есть curl.
т.е. надо писать /usr/local/bin/curl http://*domain*/cron.php
либо как советует поддержка
/usr/local/bin/GET http://*domain*/cron.php

Аватар пользователя afishi afishi 23 июля 2011 в 22:49

ребята, а что мне прикрутить?
я получаю каждые 47 минуты и каждые 00 минуты

Cron /usr/local/bin/wget -O - -q http://www.сайт.ru/cron.php

и

такой получал

Cron wget -O - -q http://сайт.ru/?q=afishi_cache_update

что то не чистое тут... подскажите какие команды засунуть надо?

Аватар пользователя maximowich maximowich 14 июля 2013 в 17:30

Парился пару дней. У меня на семерке заработало только так:

"/usr/local/bin/curl [url к крону]"

url к крону взял указанный в админке здесь /admin/config/system/cron