Skip to content

Часто задаваемые вопросы (21-FAQ)

Ответы на наиболее частые вопросы по использованию BXMax CLI.

Общие вопросы

Какие требования для работы модуля?

  • Bitrix Framework 25.0+
  • PHP 8.1+
  • Symfony Console Component (входит в Bitrix)
  • Настроенная консоль Битрикса

Как проверить, что модуль установлен правильно?

bash
cd /var/www/bitrix
php bitrix.php list

Вы должны увидеть команды модуля (cache:, user:, module: и т.д.).

Можно ли использовать модуль в продакшене?

Да, модуль разработан для использования в продакшене. Все команды протестированы и безопасны.

Нужны ли root права для работы?

Нет, команды запускаются от имени пользователя веб-сервера (обычно www-data). Root права нужны только для установки модуля через административную панель.


Установка и настройка

Как установить модуль?

  1. Установите composer и консоль Битрикса
  2. Скачайте модуль в /local/modules/bxmax.cli/
  3. Установите через административную панель

Подробнее: Установка

Консоль Битрикса не работает

Убедитесь, что:

  1. Composer установлен и настроен
  2. Файл bitrix.php существует в директории /bitrix
  3. PHP доступен из командной строки: php -v

Официальная документация: https://docs.1c-bitrix.ru/pages/get-started/composer.html

Можно ли использовать модуль без composer?

Нет, консоль Битрикса требует composer. Это стандартная функциональность Битрикс.


Работа с командами

Как узнать все доступные команды?

bash
php bitrix.php list

Как получить справку по конкретной команде?

bash
php bitrix.php help [команда]
# Например:
php bitrix.php help cache:clear

Почему команда выполняется очень долго?

Некоторые команды (бэкап, переиндексация) могут занимать много времени для больших проектов. Используйте опцию -v для отслеживания прогресса.

Можно ли остановить выполнение команды?

Да, нажмите Ctrl+C. Большинство команд корректно обрабатывают прерывание.

Команда зависла, что делать?

  1. Проверьте логи PHP
  2. Увеличьте max_execution_time в php.ini
  3. Проверьте нагрузку на сервер: top или htop
  4. Используйте timeout для ограничения времени выполнения

Кеш

Как часто нужно очищать кеш?

Зависит от проекта:

  • После обновления модулей - обязательно
  • После изменения настроек - обязательно
  • Регулярно (например, раз в день) - опционально

Можно ли очистить только определенный тип кеша?

Да, используйте cache:type:clear:

bash
php bitrix.php cache:type:clear iblock

Сайт тормозит после очистки кеша

Это нормально. Кеш восстанавливается при обращении к страницам. Рекомендуется очищать кеш в периоды низкой нагрузки.


Резервное копирование

Где сохраняются бэкапы?

По умолчанию в /bitrix/backup/ в формате .tar.gz.

Сколько места займет бэкап?

Зависит от размера сайта. Обычно:

  • Маленький сайт (<1GB): 100-300 МБ
  • Средний сайт (1-5GB): 300MB-1GB
  • Большой сайт (>5GB): >1GB

Используйте исключения для уменьшения размера.

Как восстановить сайт из бэкапа?

  1. Через админ-панель: Настройки → Инструменты → Резервное копирование
  2. Выберите архив и запустите восстановление

Можно ли создать бэкап только БД?

Да:

bash
php bitrix.php backup:create --skip-kernel --skip-public

Бэкап не создается, ошибка "No space left"

Недостаточно места на диске. Освободите место или используйте исключения:

bash
php bitrix.php backup:create \
  --exclude-dir=/upload \
  --skip-stat --skip-search

Агенты

Как часто запускать агенты?

Рекомендуется каждые 5 минут:

bash
*/5 * * * * cd /var/www/bitrix && php bitrix.php agent:run

Агенты не выполняются

  1. Проверьте, что агенты активны: php bitrix.php agent:list --active
  2. Проверьте настройки cron
  3. Запустите вручную для проверки: php bitrix.php agent:run -v

Можно ли запускать агенты через веб-запросы?

Можно, но не рекомендуется для продакшена. Используйте cron.


Пользователи

Как сбросить пароль администратора?

bash
php bitrix.php user:password admin --password=NewPassword123

Можно ли создать пользователя с группой администраторов?

Да:

bash
php bitrix.php user:create \
  --login=newadmin \
  --email=admin@example.com \
  --password=SecurePass123 \
  --admin

Как найти пользователя по email?

bash
php bitrix.php user:list | grep "email@example.com"

Поиск и индексация

Как часто переиндексировать поиск?

  • Полная переиндексация: раз в неделю
  • Быстрая переиндексация: ежедневно или после импорта

Переиндексация занимает слишком много времени

  1. Используйте --max-time для контроля времени шага
  2. Исключите ненужный контент из индексации
  3. Запускайте в периоды низкой нагрузки
  4. Рассмотрите использование внешнего поискового движка (Sphinx, Elasticsearch)

Поиск не находит новые элементы

  1. Запустите переиндексацию: php bitrix.php search:reindex
  2. Очистите кеш: php bitrix.php cache:clear

Производительность

Команды работают медленно

  1. Проверьте нагрузку на сервер
  2. Оптимизируйте базу данных
  3. Увеличьте ресурсы сервера
  4. Используйте опции для ограничения объема данных

Как уменьшить нагрузку на сервер?

  1. Запускайте тяжелые команды ночью
  2. Используйте исключения в бэкапах
  3. Увеличивайте интервалы между запусками в cron
  4. Используйте nice для понижения приоритета:
    bash
    nice -n 19 php bitrix.php backup:create

Ошибки и проблемы

"Command not found"

  1. Убедитесь, что находитесь в директории /bitrix
  2. Проверьте, что консоль Битрикса настроена
  3. Проверьте, что модуль установлен

"Class not found" или ошибки автозагрузки

  1. Очистите кеш: php bitrix.php cache:clear
  2. Обновите autoloader: composer dump-autoload
  3. Проверьте, что модуль установлен

"Permission denied"

  1. Проверьте права доступа к файлам и директориям
  2. Убедитесь, что запускаете от правильного пользователя
  3. Проверьте SELinux/AppArmor, если используется

"Maximum execution time exceeded"

  1. Увеличьте max_execution_time в php.ini
  2. Используйте опции для ограничения объема работы
  3. Разбейте задачу на части

"Allowed memory size exhausted"

  1. Увеличьте memory_limit в php.ini
  2. Оптимизируйте запрос/операцию
  3. Обрабатывайте данные порциями

Автоматизация

Как настроить автоматическое выполнение команд?

Используйте cron. Подробные примеры: Примеры cron

Можно ли получать уведомления при ошибках?

Да, настройте перенаправление вывода на email:

bash
0 3 * * * cd /var/www/bitrix && php bitrix.php backup:create || \
  echo "Backup failed" | mail -s "Error" admin@example.com

Как логировать выполнение команд?

Перенаправляйте вывод в файл:

bash
php bitrix.php cache:clear >> /var/log/bitrix-cache.log 2>&1

Разработка

Можно ли добавить свои команды?

Да, создайте свой модуль с командами. Используйте Symfony Console Component.

Где найти примеры кода команд?

Посмотрите исходный код модуля в /local/modules/bxmax.cli/lib/Command/

Как предложить новую команду?

Создайте issue или pull request на GitHub: https://github.com/bxmaximum/bxmax.cli


Обновление и поддержка

Как обновить модуль?

  1. Скачайте новую версию
  2. Замените файлы в /local/modules/bxmax.cli/
  3. Обновите через административную панель

Где получить помощь?

  1. Проверьте документацию в Wiki
  2. Создайте issue на GitHub
  3. Напишите автору: https://t.me/kirk_novozhilov

Как сообщить об ошибке?

Создайте issue на GitHub с описанием:

  • Версия модуля
  • Версия Битрикс
  • Версия PHP
  • Текст ошибки
  • Шаги для воспроизведения

Безопасность

Безопасно ли хранить пароли в cron?

Нет. Используйте:

  1. Интерактивный режим для ввода паролей
  2. Файлы конфигурации с ограниченными правами
  3. Переменные окружения

Можно ли запускать команды от root?

Не рекомендуется. Запускайте от пользователя веб-сервера (www-data).

Как защитить логи?

  1. Установите правильные права: chmod 600 /var/log/bitrix-*.log
  2. Не логируйте чувствительные данные
  3. Регулярно очищайте старые логи

Лучшие практики

Что нужно делать регулярно?

  1. Ежедневно:

    • Запуск агентов (каждые 5 минут)
    • Создание бэкапа БД
    • Очистка кеша (опционально)
  2. Еженедельно:

    • Полный бэкап сайта
    • Переиндексация поиска
    • Обновление фасетных индексов
  3. Ежемесячно:

    • Проверка обновлений
    • Очистка старых логов и бэкапов
    • Оптимизация таблиц БД

Какие команды критичны для продакшена?

  1. agent:run - каждые 5 минут
  2. backup:create - минимум раз в день
  3. cache:clear - после обновлений

Как организовать мониторинг?

  1. Логируйте все команды
  2. Настройте алерты при ошибках
  3. Проверяйте выполнение cron-задач
  4. Мониторьте размер БД и бэкапов

Дополнительные ресурсы


Если ваш вопрос не освещен в FAQ, создайте issue на GitHub или обратитесь к автору.

Документация BXMax CLI