Есть такой вопрос, как реализовать запуск cron на поддоменах? Установлен модуль Domain, есть поддомены, настроен запуск cron раз в час для скрипта site.ru/cron.php . Однако, для запуска cron на поддомене, созданным Domain нужно обратиться по xxx.site.ru/admin/reports/status/run-cron . Или что то путаю и можно по другому? Поиском смотрел, ничего не нашел по этому вопросу. Прошу помочь.
Комментарии
Поясните пожалуйста, я только столкнулся с cron. Где что именно требуется прописать?
Я указывал команду для редактирования крона.
Фрагмент моих записей:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=oleg
HOME=/var/mail/oleg
#run-parts
0 * * * * wget -O /dev/null http://mysite.ru/cron.php
# ...
Здесь указано, что cron.php сайта http://mysite.ru/ должен запускаться через каждый час.
P.S.Не забудьте прописать свой сайт в scripts/cron-lynx.sh.
Эм, проблема в том, что я на виртуальном хостинге. Я только могу им сказать какой файл и с какой периодичностью запускать, из контрольной панели к настройкам cron доступа нет. Мне запускают cron.php с периодичностью раз в час. При использовании модуля Domain не создается cron.php для каждого поддомена. Структура каталога sites вообще не претерпевает никаких изменений. От того и не понятно как организовать запуск cron на поддоменах с использованием модуля Domain. Как организовать, не подскажите? Хорошо бы подробно, опыта в этом нет.
Если прямого доступа нет, а в панели не предусмотрена возможность установки заданий крону, то обращайтесь в техподдержку.
P.S. А причем тут структура sites? У вас мультисайтинг?
Да, мультисайтинг развернут с помощью модуля Domain
Существуют домены:
site.ru
xxx.site.ru
yyy.site.ru
и т.д.
Поддержка хостинга настроила запуск cron для site.ru , вот только проблема в том, чтобы запустить cron для его поддоменов. Модуль Domain создает поддомены с разными или общими таблицами автоматом, без редактирования содержимого папки sites, соответственно там нет файлов cron.php для каждого поддомена. Запуск cron для главного домена не приводит к выполнению регулярных процедур на поддоменах с разными таблицами. Как быть?
Смысл в том, чтобы выполнять не сам скрипт, а с помощью lynx или wget заставить сервер выполнить его в штатном режиме.
http://drupal.org/node/237503
Спасибо за ссыль, пригодится.
Спасибо за ссылки.
Нашел вот такой комментарий в обсуждениях мультисайтового крона:
"Если таблицы не объединены, то cron.php надо запускать для каждого сайта."
Собственно, назревает вопрос, а какие именно таблицы должны быть объединены для того, чтобы не запускать cron для каждого сайта?
Нашел, что у модуля Domain Access, который и использую, включена по умолчанию опция, которая, по идее, должна при запуске cron, запускать его на всех поддоменах. Но этого не происходит. Нашел решение, создав в папке sites каталог с названием поддомена, и поместив в нем файл cron.php
Теперь, обращаясь xxx.site.ru/cron.php крон срабатывает. Теперь ищу возможность каким образом мне запускать крон на всех доменов, не дергая постоянно хостера с просьбой запускать крон для очередного поддомена.
Нашел рецепт, создал файл multicron.php в котором прописал:
<?php
/* запускаем крон для нескольких сайтов. Здесь site1, site2 и т.д. это
адреса ваших сайтов из связки мультисатинга */
readfile("http://xxx.site.ru/cron.php");
?>
Но почему то при запуске multicron.php , кроны на поддоменах не запускаются. В чем проблема? Как решить?