среда, 18 марта 2015 г.

Как вешать профиль импорта/экспорта Битрикс на крон

Оболочкой для выполнения по расписанию битриксовских импортов/экспортов на cron является файл

путь_от_корня_сервера_до_корня_сайта/bitrix/php_interface/include/catalog_export/cron_frame.php 

Этот файл нужно отредактировать специальным образом, а затем добавить  команду в расписание crona

1) Узнайте у хостера путь к интерпретатору php
К примеру, на серверах без забот Русоникс это   /usr/bin/php Тогда в первой строке файла cron_frame.php дожно быть записано: #!/usr/bin/php ‐q

Путь к интерпретатору php на некоторых хостингах можно узнать вот как:



2) Узнайте значение константы $_SERVER["DOCUMENT_ROOT"]  для сайта
К примеру, на Русониксе это: var/www/vhosts/название_сайта/httpdocs

Пропишите это значение в файле cron_frame.php

 5.3 Для каждого профиля импорта/экспорта добавьте в таблицу cron (в расписание) в панели  управления хостингом следующую команду (пример - для Русоникса):

/usr/bin/php ‐f /var/www/vhosts/имя_сайта/httpdocs/bitrix/php_interface/include/catalog_export/cron_f rame.php 7 >/var/www/vhosts/имя_сайта/httpdocs/bitrix/php_interface/include/catalog_export/logs/ 7.txt 

Где   /usr/bin/php – путь к интерпретатору php
7 – идентификатор профиля импорта/экспорта

А вот в панели управления хостинга timeweb.ru так удобно повесить импорты/экспорты на крон не получится, так как там не поддерживается передача скрипту аргументов. На таймвебе придется создать по отдельному файлу cron_frame.php для каждого профиля, который нужно повесить на крон, и внутри этих файлов зашить нужный ID профиля импорта или работать с кроном через ssh.

4 комментария:

Алексей комментирует...

Юлия, подскажите, пожалуйста - если импорт падает при запуске по крону (пошаговость ведь не работает), стоит ли обращаться к хостеру (у меня виртуальный сервер с администрированием), или проблему можно решать только на уровне архитектуры механизмов импорта?

Юлия комментирует...

Пошаговость должна работать. Ее можно предусмотреть в скрипте самого импорта.

Игорь Сидоров комментирует...

Юлия, сделал логирование вашего импорта при запуске на кроне, скрипт запускается но не завершается, причем перехода на второй шаг не происходит. Используется выделенный сервер с виртуальной машиной Б. Памяти и времени хватает сполна.
ручной запуск из админки проходит быстро и успешно, по крону же подвисает.
чего может не хватать в таком случае?

Анонимный комментирует...

Юлия добрый день, такая проблема по адресу сайт.ру/bitrix/php_interface/include/catalog_export/cron_frame.php обращаешься запускается выгрузка т.к в файле указано и $profile_id = 36; что нужно выгружать, это вообще правильно?