Часто задаваемые вопросы (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 или обратитесь к автору.