Часто задаваемые вопросы (21-FAQ) 
Ответы на наиболее частые вопросы по использованию BXMax CLI.
Общие вопросы 
Какие требования для работы модуля? 
- Bitrix Framework 25.0+
 - PHP 8.1+
 - Symfony Console Component (входит в Bitrix)
 - Настроенная консоль Битрикса
 
Как проверить, что модуль установлен правильно? 
cd /var/www/bitrix
php bitrix.php listВы должны увидеть команды модуля (cache:, user:, module: и т.д.).
Можно ли использовать модуль в продакшене? 
Да, модуль разработан для использования в продакшене. Все команды протестированы и безопасны.
Нужны ли root права для работы? 
Нет, команды запускаются от имени пользователя веб-сервера (обычно www-data). Root права нужны только для установки модуля через административную панель.
Установка и настройка 
Как установить модуль? 
- Установите composer и консоль Битрикса
 - Скачайте модуль в 
/local/modules/bxmax.cli/ - Установите через административную панель
 
Подробнее: Установка
Консоль Битрикса не работает 
Убедитесь, что:
- Composer установлен и настроен
 - Файл 
bitrix.phpсуществует в директории/bitrix - PHP доступен из командной строки: 
php -v 
Официальная документация: https://docs.1c-bitrix.ru/pages/get-started/composer.html
Можно ли использовать модуль без composer? 
Нет, консоль Битрикса требует composer. Это стандартная функциональность Битрикс.
Работа с командами 
Как узнать все доступные команды? 
php bitrix.php listКак получить справку по конкретной команде? 
php bitrix.php help [команда]
# Например:
php bitrix.php help cache:clearПочему команда выполняется очень долго? 
Некоторые команды (бэкап, переиндексация) могут занимать много времени для больших проектов. Используйте опцию -v для отслеживания прогресса.
Можно ли остановить выполнение команды? 
Да, нажмите Ctrl+C. Большинство команд корректно обрабатывают прерывание.
Команда зависла, что делать? 
- Проверьте логи PHP
 - Увеличьте 
max_execution_timeв php.ini - Проверьте нагрузку на сервер: 
topилиhtop - Используйте 
timeoutдля ограничения времени выполнения 
Кеш 
Как часто нужно очищать кеш? 
Зависит от проекта:
- После обновления модулей - обязательно
 - После изменения настроек - обязательно
 - Регулярно (например, раз в день) - опционально
 
Можно ли очистить только определенный тип кеша? 
Да, используйте cache:type:clear:
php bitrix.php cache:type:clear iblockСайт тормозит после очистки кеша 
Это нормально. Кеш восстанавливается при обращении к страницам. Рекомендуется очищать кеш в периоды низкой нагрузки.
Резервное копирование 
Где сохраняются бэкапы? 
По умолчанию в /bitrix/backup/ в формате .tar.gz.
Сколько места займет бэкап? 
Зависит от размера сайта. Обычно:
- Маленький сайт (<1GB): 100-300 МБ
 - Средний сайт (1-5GB): 300MB-1GB
 - Большой сайт (>5GB): >1GB
 
Используйте исключения для уменьшения размера.
Как восстановить сайт из бэкапа? 
- Через админ-панель: Настройки → Инструменты → Резервное копирование
 - Выберите архив и запустите восстановление
 
Можно ли создать бэкап только БД? 
Да:
php bitrix.php backup:create --skip-kernel --skip-publicБэкап не создается, ошибка "No space left" 
Недостаточно места на диске. Освободите место или используйте исключения:
php bitrix.php backup:create \
  --exclude-dir=/upload \
  --skip-stat --skip-searchАгенты 
Как часто запускать агенты? 
Рекомендуется каждые 5 минут:
*/5 * * * * cd /var/www/bitrix && php bitrix.php agent:runАгенты не выполняются 
- Проверьте, что агенты активны: 
php bitrix.php agent:list --active - Проверьте настройки cron
 - Запустите вручную для проверки: 
php bitrix.php agent:run -v 
Можно ли запускать агенты через веб-запросы? 
Можно, но не рекомендуется для продакшена. Используйте cron.
Пользователи 
Как сбросить пароль администратора? 
php bitrix.php user:password admin --password=NewPassword123Можно ли создать пользователя с группой администраторов? 
Да:
php bitrix.php user:create \
  --login=newadmin \
  --email=admin@example.com \
  --password=SecurePass123 \
  --adminКак найти пользователя по email? 
php bitrix.php user:list | grep "email@example.com"Поиск и индексация 
Как часто переиндексировать поиск? 
- Полная переиндексация: раз в неделю
 - Быстрая переиндексация: ежедневно или после импорта
 
Переиндексация занимает слишком много времени 
- Используйте 
--max-timeдля контроля времени шага - Исключите ненужный контент из индексации
 - Запускайте в периоды низкой нагрузки
 - Рассмотрите использование внешнего поискового движка (Sphinx, Elasticsearch)
 
Поиск не находит новые элементы 
- Запустите переиндексацию: 
php bitrix.php search:reindex - Очистите кеш: 
php bitrix.php cache:clear 
Производительность 
Команды работают медленно 
- Проверьте нагрузку на сервер
 - Оптимизируйте базу данных
 - Увеличьте ресурсы сервера
 - Используйте опции для ограничения объема данных
 
Как уменьшить нагрузку на сервер? 
- Запускайте тяжелые команды ночью
 - Используйте исключения в бэкапах
 - Увеличивайте интервалы между запусками в cron
 - Используйте 
niceдля понижения приоритета:bashnice -n 19 php bitrix.php backup:create 
Ошибки и проблемы 
"Command not found" 
- Убедитесь, что находитесь в директории 
/bitrix - Проверьте, что консоль Битрикса настроена
 - Проверьте, что модуль установлен
 
"Class not found" или ошибки автозагрузки 
- Очистите кеш: 
php bitrix.php cache:clear - Обновите autoloader: 
composer dump-autoload - Проверьте, что модуль установлен
 
"Permission denied" 
- Проверьте права доступа к файлам и директориям
 - Убедитесь, что запускаете от правильного пользователя
 - Проверьте SELinux/AppArmor, если используется
 
"Maximum execution time exceeded" 
- Увеличьте 
max_execution_timeв php.ini - Используйте опции для ограничения объема работы
 - Разбейте задачу на части
 
"Allowed memory size exhausted" 
- Увеличьте 
memory_limitв php.ini - Оптимизируйте запрос/операцию
 - Обрабатывайте данные порциями
 
Автоматизация 
Как настроить автоматическое выполнение команд? 
Используйте cron. Подробные примеры: Примеры cron
Можно ли получать уведомления при ошибках? 
Да, настройте перенаправление вывода на email:
0 3 * * * cd /var/www/bitrix && php bitrix.php backup:create || \
  echo "Backup failed" | mail -s "Error" admin@example.comКак логировать выполнение команд? 
Перенаправляйте вывод в файл:
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
Обновление и поддержка 
Как обновить модуль? 
- Скачайте новую версию
 - Замените файлы в 
/local/modules/bxmax.cli/ - Обновите через административную панель
 
Где получить помощь? 
- Проверьте документацию в Wiki
 - Создайте issue на GitHub
 - Напишите автору: https://t.me/kirk_novozhilov
 
Как сообщить об ошибке? 
Создайте issue на GitHub с описанием:
- Версия модуля
 - Версия Битрикс
 - Версия PHP
 - Текст ошибки
 - Шаги для воспроизведения
 
Безопасность 
Безопасно ли хранить пароли в cron? 
Нет. Используйте:
- Интерактивный режим для ввода паролей
 - Файлы конфигурации с ограниченными правами
 - Переменные окружения
 
Можно ли запускать команды от root? 
Не рекомендуется. Запускайте от пользователя веб-сервера (www-data).
Как защитить логи? 
- Установите правильные права: 
chmod 600 /var/log/bitrix-*.log - Не логируйте чувствительные данные
 - Регулярно очищайте старые логи
 
Лучшие практики 
Что нужно делать регулярно? 
Ежедневно:
- Запуск агентов (каждые 5 минут)
 - Создание бэкапа БД
 - Очистка кеша (опционально)
 
Еженедельно:
- Полный бэкап сайта
 - Переиндексация поиска
 - Обновление фасетных индексов
 
Ежемесячно:
- Проверка обновлений
 - Очистка старых логов и бэкапов
 - Оптимизация таблиц БД
 
Какие команды критичны для продакшена? 
agent:run- каждые 5 минутbackup:create- минимум раз в деньcache:clear- после обновлений
Как организовать мониторинг? 
- Логируйте все команды
 - Настройте алерты при ошибках
 - Проверяйте выполнение cron-задач
 - Мониторьте размер БД и бэкапов
 
Дополнительные ресурсы 
Если ваш вопрос не освещен в FAQ, создайте issue на GitHub или обратитесь к автору.