cron на поддоменах?

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

Аватар пользователя gnm gnm 28 мая 2009 в 20:42

Есть такой вопрос, как реализовать запуск cron на поддоменах? Установлен модуль Domain, есть поддомены, настроен запуск cron раз в час для скрипта site.ru/cron.php . Однако, для запуска cron на поддомене, созданным Domain нужно обратиться по xxx.site.ru/admin/reports/status/run-cron . Или что то путаю и можно по другому? Поиском смотрел, ничего не нашел по этому вопросу. Прошу помочь.

Комментарии

Аватар пользователя mensh@drupal.org mensh@drupal.org 28 мая 2009 в 21:35

Я указывал команду для редактирования крона.

Фрагмент моих записей:

SHELL=/bin/bash
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.

Аватар пользователя gnm gnm 28 мая 2009 в 21:53

Эм, проблема в том, что я на виртуальном хостинге. Я только могу им сказать какой файл и с какой периодичностью запускать, из контрольной панели к настройкам cron доступа нет. Мне запускают cron.php с периодичностью раз в час. При использовании модуля Domain не создается cron.php для каждого поддомена. Структура каталога sites вообще не претерпевает никаких изменений. От того и не понятно как организовать запуск cron на поддоменах с использованием модуля Domain. Как организовать, не подскажите? Хорошо бы подробно, опыта в этом нет.

Аватар пользователя mensh@drupal.org mensh@drupal.org 28 мая 2009 в 22:08

Если прямого доступа нет, а в панели не предусмотрена возможность установки заданий крону, то обращайтесь в техподдержку.
P.S. А причем тут структура sites? У вас мультисайтинг?

Аватар пользователя gnm gnm 28 мая 2009 в 22:13

Да, мультисайтинг развернут с помощью модуля Domain

Существуют домены:
site.ru
xxx.site.ru
yyy.site.ru
и т.д.

Поддержка хостинга настроила запуск cron для site.ru , вот только проблема в том, чтобы запустить cron для его поддоменов. Модуль Domain создает поддомены с разными или общими таблицами автоматом, без редактирования содержимого папки sites, соответственно там нет файлов cron.php для каждого поддомена. Запуск cron для главного домена не приводит к выполнению регулярных процедур на поддоменах с разными таблицами. Как быть?

Аватар пользователя gnm gnm 29 мая 2009 в 19:04

Спасибо за ссылки.
Нашел вот такой комментарий в обсуждениях мультисайтового крона:

"Если таблицы не объединены, то cron.php надо запускать для каждого сайта."

Собственно, назревает вопрос, а какие именно таблицы должны быть объединены для того, чтобы не запускать cron для каждого сайта?

Аватар пользователя gnm gnm 30 мая 2009 в 1:48

Нашел, что у модуля 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 , кроны на поддоменах не запускаются. В чем проблема? Как решить?