Проблема с cron, подскажите...

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

Аватар пользователя prostochel prostochel 15 января 2008 в 15:14

как сделать, чтобы модуль notify работал через cron.php без проблем (нет приходит почта). У меня нет ни каких ошибок, но и результата тоже нет. в crontab прописано * * * * * usr/bin/wget -O - -q http://имя_хоста/cron.php, так же имеются записи в cron_lynx.sh /usr/bin/lynx -source http://имя_хоста/cron.php > /dev/null 2>&1. Помогите в чем дело?

Комментарии

Аватар пользователя axel axel 15 января 2008 в 15:32

* * * * * usr/bin/wget -O - -q http://имя_хоста/cron.php
Вот прям так и прописано без / перед usr? Тогда понятно почему не работает. Путь должен быть от корня файловой системы - /usr/bin/wget Что записано в cron_lynx в данном случае не важно, если в кроне делается запуск через wget. Также запускать крон каждую минуту как сделано выше - не имеет смысла.

В друпале предлагается несоклько скриптов для запуска через разные утилиты, поскольку не все утилиты могут быть установлены на каждом сервере. Нужно проверить, что wget или lynx или links вообще имеют место быть на хостинге. Зайти ssh и попробовать запустить их в командной строке (или спросить хостера). Тогда, для той команды которая имеется выбрать соответствующий скрипт. Например, если на сервере нашёлся lynx, то в крон записать (для запуска каждые 15 мин):

*/15 * * * * /путь/к/скрипту/cron_lynx.sh
Аватар пользователя prostochel prostochel 15 января 2008 в 15:55

и еще появилась ошибка
Parse error: syntax error, unexpected '*' in /home/www/........./cron.php on line 9
на ней находится include_once './includes/bootstrap.inc';
не пойму ??? Sad

Аватар пользователя andrews andrews 15 января 2008 в 17:57

Думаю, надо посмотреть настройки. Модуль рассылает сообщения не чаще заданного периода. Какой период стоит у модуля для отправки сообщений? Прием сообщений модуля notify разрешен для вашего аккаунта?

Аватар пользователя prostochel prostochel 16 января 2008 в 9:17

Всё получилось. До конца немного не понятно, но нашел в сислогах ошибку: user bad name. Поставил в crontab - root в строчку * * * * * root usr/bin/wget -O - -q http://имя_хоста/cron.php и всё заработало... СПС, выручили и научили...

Аватар пользователя andrews andrews 16 января 2008 в 12:36

Неправда, мы такому не учим Smile

Системный /etc/crontab менять очень не рекомендуется. У каждого пользователя есть свой crontab, находится где-то в районе /var/spool/cron. Что бы добавить задание, нужно выполнить команду 'crontab -e', и в открывшемся редакторе ввести строчку типа:
10 * * * * /usr/bin/wget -O - -q http://имя_хоста/cron.php

Подробнее можно почитать в книжке по unix/linux/bsd