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