Ошибка запуска Cron

Главные вкладки

Аватар пользователя oos_s oos_s 12 ноября 2008 в 15:33

Коллеги, через 1,5 мес. после запуска сайта перестал запускаться крон Sad
В отчете о состоянии выдается "Ошибка запуска Cron". Установил автозапуск у хостера... на почту приходят логи: "PHP Fatal error: Call to undefined function: drupal_bootstrap() in /home/public_html/cron.php on line 11"
Файлы не модифицировались.
Друпал 6-й.
Хостинг: Apache/2.0.58 (Unix) mod_ssl/2.0.58 OpenSSL/0.9.8d mod_dp/lk.0.20.0 PHP/5.2.6 Памяти 128 Мб.
Поискал на drupal.org, есть похожие проблемы под 5-ку, но ответов нет. Подскажите, в чем может быть проблема?

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 12 ноября 2008 в 18:06

Начнем операцию по удалению.
Судя по всему вы запускаете напрямую "/home/public_html/cron.php"
В папке scripts есть шел-скрипты для запуска крона.
Сделайте вызов одного из этих скриптов.
Они открывают cron.php через веб-сервер, не напрямую и он (cron.php) получает правильные пути и правильно инклюдит все нужные файлы.
Выбор скрипта зависит от того, что есть у хостера wget или lynx.
Проверить это можно так:

# which wget
# which lynx

Вы должны увидеть путь к скрипту, если он установлен.

Аватар пользователя oos_s oos_s 12 ноября 2008 в 19:33

Спасибо за отклик!
Инструкция из панели хостера:
"Время, интервал
Минуты могут быть от 0 до 59
Часы могут быть от 0 до 23
День месяца может быть от 1 до 31
Месяц может быть 1 до 12
День недели может быть от 0 до 7 (0 или 7 - воскресенье)

Можно конфигурировать CRONTAB для выполнения задач не только в определенное время, но и ежеминутно, ежечасно, ежедневно, еженедельно или ежемесячно, используя комбинацию */x

Пример:
*/5 * * * * - запускать команду каждые пять минут
0 */3 * * * - запускать каждые три часа
0 12,13,14 * * * - запускать команду каждый час с 12 до 14

Команда
Необходимо задать путь до скрипта от домашнего каталога
Например: public_html/cgi-bin/script.pl
Cистема сама подставит символ ~/ (эта комбинация заменяет полный путь)
Получится: ~/public_html/cgi-bin/script.pl
Если в конце пути поставить символ &, то скрипт будет работать в фоновом режиме. Установка этого символа необязательна.

Вот примеры правильной записи в CRONTAB:
* * * * * ~/public_html/cgi-bin/script.pl - запускать программу script.pl каждую минуту
0 0 * * * ~/public_html/cgi-bin/script.pl - запускать программу script.pl в полночь каждый день

Права на файл должны быть 705. CGI-скрипт должен располагаться в папке CGI-BIN. Первая строка в файле должна выглядеть так: #!/usr/bin/perl - это путь к интерпретатору.

Как запустить PHP-скрипт?
Задайте в PHP-файле путь к интерпретатору: #!/usr/local/bin/php (первая строка в файле). Установите на файл права 705.

Вот пример правильной записи:
0 0 * * 1 ~/public_html/myscripts/somescript.php - запускать программу somescript.php в ночь с воскресения на понедельник"

Соответственно я прописываю: 0 0 * * 1 ~/public_html/cron.php
Права назначил, в файл cron.php дописал #!/usr/local/bin/php
В логах "PHP Fatal error: Call to undefined function: drupal_bootstrap() in /home/public_html/cron.php on line 11"
Непонятно откуда ошибка Sad Хостер говорит - обращайтесь к разработчикам цмс

Аватар пользователя v1adimir v1adimir 19 ноября 2009 в 2:52

VladSavitsky же написал...

Quote:
Судя по всему вы запускаете напрямую "/home/public_html/cron.php"

смотрим...
oos_s wrote:
Соответственно я прописываю: 0 0 * * 1 ~/public_html/cron.php

так оно и есть! БИНГО! это в корне неверно.
Владислав, профессионально поставил диагноз и даже написал как нужно лечить. А ты рецепт проигнорировал и пытаешься на него как-то наезжать.
Перечитай еще раз его пост, или переспроси, если что в совете непонятно. Я думаю, он ответит. )

Аватар пользователя oos_s oos_s 12 ноября 2008 в 21:57

Да читал я это все... От этого не легче... Вообще стараюсь спрашивать, когда не в состоянии найти информацию самостоятельно

Аватар пользователя oos_s oos_s 12 ноября 2008 в 23:16

Всем спасибо за ответы в любом случае... не понятно с чего агрессия? Я вроде очень вежливо задал вопрос ...

Аватар пользователя Forman Forman 16 ноября 2009 в 1:40

Здравствуйте! Проблема та же, cron при запуске выдает сообщение всегда, Ошибка запуска Cron. ясно вполне что он слетает из-за какого-то модуля, вопрос как отловить этот модуль?

на странице: http://anyks.com/admin/reports/status всегда висит сообщение:

Выполнение регулярных процедур (задачи cron) Последний запуск 3 недели 8 часов назад
Крон давно не запускался. Подробная информация находится в документации по настройке, на странице настройки работы крона. Вы можете запустить выполнение регулярных процедур (cron) вручную.

пробовал отловить модуль как написано здесь: http://www.drupal.ru/node/9732

но так и не въехал где должна появится новая категория "cron_runs" в журнале, ниче там не появилось...

Аватар пользователя Dan Dan 16 ноября 2009 в 13:52

"Forman" wrote:
Проблема та же, cron при запуске выдает сообщение всегда, Ошибка запуска Cron.

Как запускаете хрон? Вручную или cron на сервере? На локале хрон запускается?
Отключайте модули по паре штук и смотрите когда заработает.

"Forman" wrote:
но так и не въехал где должна появится новая категория "cron_runs" в журнале, ниче там не появилось...

Либо ошиблись, ли хрон у вас не доходит до обработки хуков.

Аватар пользователя Forman Forman 18 ноября 2009 в 14:47

насчет логов, оказывается хостер не дает к ним доступ и сказал что не даст, только писать ему время он выдаст на это время какие записи в логах идут...

Крон запускается в ручную только есть набрать: http://my_site.com/cron.php если запускать из админки то выдает ошибку.

вот что сказал хостер:

Здравствуйте.
Что бы иметь к данному файлу доступ, Вам нужен root доступ, котроый никто не предоставит, ниже скинули лог
---
[Mon Nov 16 10:24:04 2009] [error] [client 92.55.39.59] client denied by server configuration: /home/anyksco/public_html/cron.php
[Mon Nov 16 10:24:04 2009] [error] [client 92.55.39.59] client denied by server configuration: /home/anyksco/public_html/cron.php
----

Как говорится нифига не в тему! Крон в основном не работает из-за модуля проверки наличия обновлений, примечательно что данная система на локальном компьютере работает без проблем и крон и обновления а на хостинге нет, может памяти на php не хватает хотя там выделили 64Мб в остальном больше незнаю что еще может быть

Аватар пользователя Dan Dan 18 ноября 2009 в 17:51

"Forman" wrote:
насчет логов, оказывается хостер не дает к ним доступ и сказал что не даст, только писать ему время он выдаст на это время какие записи в логах идут...

В логах друпала надо смотреть (это я про http://www.drupal.ru/node/9732), а не веб-сервера.

"Forman" wrote:
[Mon Nov 16 10:24:04 2009] [error] [client 92.55.39.59] client denied by server configuration: /home/anyksco/public_html/cron.php

При чём тут /home/anyksco/public_html/cron.php? Крон должен дёргаться через http, а не напрямую.

"Forman" wrote:
может памяти на php не хватает хотя там выделили 64Мб

Может не хватать времени.

Аватар пользователя Forman Forman 19 ноября 2009 в 2:34

Я читал эту статью, где эти логи друпала? я не нашел...

на странице: admin/settings/logging/syslog только настройки а где сами логи хранятся понятия не имею уже все обыскал

если запустить крон как: http://my_site.com/cron.php он запускается а если из админки то выдает ошибку...

Аватар пользователя Dan Dan 19 ноября 2009 в 3:18

"Forman" wrote:
если запустить крон как: http://my_site.com/cron.php он запускается а если из админки то выдает ошибку...

Как Вы это поняли? Обновляется время последнего запуска на странице /admin/reports/status?

"Forman" wrote:
Я читал эту статью, где эти логи друпала? я не нашел...

/admin/reports/dblog
Должен быть включен модуль "Database logging".

Аватар пользователя Forman Forman 19 ноября 2009 в 22:46

Я не наезжал я просто не понял ответа, в /admin/reports/status там время последнего запуска стоит еще с середины октября

Про Database logging я не знал, сейчас включу и посмотрю что будет

Аватар пользователя noymen@drupal.org noymen@drupal.org 23 декабря 2009 в 3:43

В журнале записывается

«Попытка перезапуска выполнения регулярных процедур (cron) в то время, как они уже выполняются.»

и cron уже второй день не может запустится...

есть мнения?

Аватар пользователя AndreyY AndreyY 5 марта 2010 в 12:46

<a href="mailto:noymen@drupal.org">noymen@drupal.org</a> wrote:
В журнале записывается

«Попытка перезапуска выполнения регулярных процедур (cron) в то время, как они уже выполняются.»

и cron уже второй день не может запустится...

есть мнения?

Мне помогло отключение XML SiteMap 2 dev. Подвешивал.

Аватар пользователя Vendict Vendict 3 января 2010 в 0:33

"<a href="mailto:noymen@drupal.org">noymen@drupal.org</a>" wrote:
В журнале записывается

«Попытка перезапуска выполнения регулярных процедур (cron) в то время, как они уже выполняются.»
и cron уже второй день не может запустится...

есть мнения?

нужно убить переменную "cron_semaphore".
либо редактором переменных из модуля devel
либо в ручную в таблице drup_variable удалить строчку от этой переменной.
на самом деле странный глюк.

Аватар пользователя noymen@drupal.org noymen@drupal.org 9 января 2010 в 13:49

"Vendict" wrote:
нужно убить переменную "cron_semaphore".

Что-то я не нашел эту переменную в таблице *_variable, она что появляется только когда cron начинает глючить?

Аватар пользователя Korsarchik Korsarchik 28 января 2011 в 21:05

"Vendict" wrote:
нужно убить переменную "cron_semaphore".
либо редактором переменных из модуля devel
либо в ручную в таблице drup_variable удалить строчку от этой переменной.
на самом деле странный глюк.

спасибо огромное, это было спасением

Аватар пользователя nik_2sv nik_2sv 18 марта 2013 в 15:07

Всем добрый день, у меня аналогичная проблема...
Database logging - модуля я такого не нашел
cron зависает на отправке рассылки, если в нем не стоит материала на отправку, то проходит все нормально
удаление cron_semaphore не помогает
cron_last приводит к тому, что появляется надпись крон - никогда не запускался