Настройка cron для автоматических задач 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка cron для автоматических задач 1С-Битрикс
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1322
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    915
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    811
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    710
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

Без корректно настроенного cron в Битрикс перестают работать агенты: не уходят письма, не обновляются цены из 1С, не удаляются просроченные корзины. На Битрикс-проектах типичная проблема — режим агентов «через хиты» (запуск при каждом запросе пользователя). Это создаёт непредсказуемые задержки: тяжёлые задачи (пересчёт цен, отправка рассылок) выполняются только когда есть трафик, а ночью сайт «спит». Мы сталкивались с проектами, где письма об оплате уходили с опозданием до 4 часов, а очередь почтовых сообщений в b_event накапливалась до 5000 писем. На фоне этого снижалась конверсия — клиенты не получали уведомления о статусе заказа. Единственное правильное решение — перевести агенты на системный cron. В этой статье разберём, как настроить cron для продакшена, избежать типовых ошибок и сократить задержки до 1-2 минут.

Режимы запуска агентов: хиты vs cron

Битрикс поддерживает два режима — через хиты и через cron. Переключение: Настройки → Настройки продукта → Агенты.

Режим хитов (по умолчанию): агенты запускаются при обычных запросах к сайту. Минус — задержка выполнения зависит от посещаемости. Ночью, когда нужно запустить индексацию или отправить рассылку, хитов может не быть совсем. В результате агенты накапливаются, и страницы начинают тормозить.

Режим cron: агенты выполняются системным планировщиком независимо от трафика. Это единственный правильный вариант для продакшена: агенты отрабатывают строго по расписанию, без влияния на пользовательский опыт.

Какой режим надёжнее?

Характеристика Режим хитов Режим cron
Зависимость от трафика Полная Нет
Точность выполнения Низкая (до нескольких часов задержки) Высокая (в пределах интервала запуска)
Нагрузка на сервер Пиковая при массовых запусках Равномерная
Риск пропуска агентов Высокий при отсутствии хитов Минимальный
Рекомендация Только для разработки Для продакшена

Режим cron в 10 раз надёжнее режима хитов по точности выполнения агентов. Экономия времени на ручном запуске агентов экономит бюджет на администрирование.

Настройка cron: пошаговая инструкция

  1. Переключите режим агентов в админке на «cron».
  2. Определите пользователя веб-сервера (обычно www-data или bitrix).
  3. Добавьте задачу в crontab этого пользователя:
*/5 * * * * /usr/bin/php -f /var/www/html/bitrix/modules/main/tools/cron_events.php >> /var/log/bitrix_cron.log 2>&1

Интервал запуска — от 1 до 5 минут. Чаще не нужно: у большинства агентов минимальный период — 1 минута, и более частый запуск ничего не даст.

Путь к PHP должен совпадать с тем, который использует веб-сервер. Проверить: which php или php -v. Если на сервере несколько версий PHP — указывайте полный путь, например /usr/bin/php8.1.

  1. Убедитесь, что файл лога создаётся и не пустой: tail -f /var/log/bitrix_cron.log.

Дополнительные задачи cron

Если используется модуль Поиск или Веб-аналитика, добавьте отдельные задачи:

0 3 * * * /usr/bin/php -f /var/www/html/bitrix/modules/search/lib/crawler.php
0 2 * * * /usr/bin/php -f /var/www/html/bitrix/modules/statistic/tools/update_daily_counter.php

Для сайтов на Битрикс: Управление сайтом с модулем sale — отдельно запускайте обработку заказов:

*/10 * * * * /usr/bin/php -f /var/www/html/bitrix/modules/sale/lib/internals/agent.php

Пример типовых задач:

Задача Команда Периодичность
Основные агенты cron_events.php 2–5 минут
Поисковый краулер crawler.php Раз в сутки
Обработка заказов sale/lib/internals/agent.php 10 минут
Отправка почтовых уведомлений Через основной агент 1–2 минуты

Почему cron важен для интернет-магазина?

Интернет-магазины зависят от своевременной обработки заказов, обновления остатков и отправки уведомлений. Если агенты выполняются с задержкой, клиенты не получают письма об оплате, а менеджеры — уведомления о новых заказах. Мы сталкивались с проектом, где из-за хитов письма уходили с опозданием на 4 часа. После настройки cron задержка сократилась до 1–2 минут.

Пример из практики

Интернет-магазин на редакции Малый бизнес, хостинг на виртуальном сервере. Жалоба: письма об оплате уходят с опозданием на 2–4 часа, иногда не уходят совсем. Диагностика: агенты работали в режиме хитов, ночью трафика нет. Почтовая очередь в b_event накапливалась, модуль main не запускался. Решение: переключение на cron с интервалом 2 минуты, добавление задачи обработки почтовой очереди. После — письма уходят в течение 2 минут после события.

Как проверить, работает ли cron?

Проверить, когда последний раз выполнялись агенты: таблица b_agent в БД, поле LAST_EXEC. Если значение не обновляется — cron не работает.

В административном интерфейсе: Настройки → Производительность → Агенты. Видно время последнего запуска и список агентов с их расписанием.

Также используйте официальную документацию Битрикс по настройке агентов для сверки параметров. Подробнее о cron читайте на Wikipedia.

Типичные ошибки при настройке cron
  • Неправильный путь к PHP (особенно на серверах с несколькими версиями).
  • Забыли переключить режим агентов в админке.
  • Не создали файл лога или нет прав на запись.
  • Агенты заблокированы в b_agent (IS_LOCK = Y) после сбоя — нужно очистить вручную.

Что входит в работу по настройке

  • Анализ текущей конфигурации: проверка режима агентов, состава агентов, наличие блокировок.
  • Настройка crontab: добавление задач с правильными путями к PHP, логирование.
  • Тестирование всех агентов: убедимся, что каждый агент выполняется в срок.
  • Оптимизация периодичности: корректировка интервалов под нагрузку.
  • Документация: описание всех добавленных задач, схемы перезапуска.
  • Консультация: ответы на вопросы, обучение работе с cron.

Сроки и стоимость

Настройка cron для типового сервера — 1–2 часа, включая проверку работоспособности всех агентов и настройку логирования. Для сложных проектов с нестандартной архитектурой может потребоваться до 4 часов. Стоимость рассчитывается индивидуально, в зависимости от сложности. Свяжитесь с нами для точной оценки вашего проекта — мы подберём оптимальное решение.

Закажите профессиональную настройку cron для Битрикс с гарантией результата. Получите консультацию — оценим ваш проект, подготовим конфигурацию и проведём тестирование.