Часть рутинных задач на проекте 1С-Битрикс решается быстрее и надёжнее через консоль, чем через веб-интерфейс административной панели, особенно на объёмах данных, где браузер и ограничение времени выполнения PHP-скрипта становятся помехой. Разберём подборку полезных консольных команд и подходов для повседневной работы.
Запуск PHP-скрипта с прологом Битрикса из консоли
php -r '
require_once "/var/www/site/bitrix/modules/main/include/prolog_before.php";
echo "Bitrix version: " . SM_VERSION . "\n";
'
Подключение prolog_before.php перед произвольным
кодом даёт полный доступ к API системы прямо из консольного
скрипта — без ограничений времени выполнения, характерных
для запуска через веб-сервер, что делает консоль подходящим
местом для тяжёлых операций вроде массового импорта или
пересчёта данных.
Выгрузка и импорт базы данных
# выгрузка с сжатием
mysqldump -u user -p database_name | gzip > backup_$(date +%Y%m%d).sql.gz
# импорт
gunzip < backup_20260101.sql.gz | mysql -u user -p database_name
Нужна помощь с Битрикс?
Поиск и замена в файлах массово
grep -rl "old-domain.ru" /var/www/site/upload/ | xargs sed -i 's/old-domain\.ru/new-domain.ru/g'
Массовая замена строки во множестве файлов сразу — типовая задача при переезде на новый домен или исправлении устаревших абсолютных ссылок в контенте, если часть данных хранится не в базе, а в статических файлах. Перед применением на боевых данных такую команду стоит сначала прогнать с выводом списка затрагиваемых файлов без реальной замены, чтобы убедиться в ожидаемом охвате.
Проверка синтаксиса PHP-файлов массово
find /var/www/site/local/ -name "*.php" -exec php -l {} \; | grep -v "No syntax errors"
Быстрая проверка синтаксической корректности всех PHP-файлов проекта перед деплоем — способ поймать банальную опечатку, сломавшую синтаксис, до того как она попадёт на боевой сервер, без необходимости открывать каждый изменённый файл вручную.
Мониторинг логов в реальном времени
tail -f /var/log/nginx/error.log /var/log/php-fpm/error.log
Одновременный просмотр нескольких лог-файлов в реальном времени во время тестирования нового функционала на боевом сервере позволяет сразу увидеть ошибку в момент её возникновения, а не искать её постфактум в накопленном за день объёме логов.
Проверка использования диска и памяти
du -sh /var/www/site/upload/ /var/www/site/bitrix/cache/
free -h
df -h
Быстрая диагностика того, что реально занимает место на диске, полезна при внезапной нехватке свободного пространства — каталог кеша нередко оказывается неожиданно большим и подлежит безопасной очистке штатными средствами системы, а не ручным удалением файлов напрямую.
Запуск разового скрипта пересчёта данных
php -f /var/www/site/local/scripts/recalculate_ratings.php
Разовые скрипты для массового пересчёта данных (рейтингов, агрегированных значений, миграций) удобнее располагать в отдельном каталоге проекта и запускать напрямую через консольный PHP, а не через веб-обращение к странице — это исключает риск случайного повторного запуска посетителем сайта, если скрипт физически доступен по прямому URL без дополнительной защиты.
Проверка занятых портов и процессов
netstat -tlnp | grep :3306
ps aux | grep php-fpm
Проверка, что нужный сервис действительно слушает ожидаемый порт и процессы PHP-FPM реально запущены, — базовая диагностика при подозрении, что сайт недоступен из-за проблемы на уровне сервера, а не логики приложения.
Частые ошибки
- Массовая замена в файлах выполнена без предварительной проверки охвата. Риск затронуть больше файлов, чем ожидалось.
- Разовые скрипты доступны по прямому веб-URL без защиты. Риск случайного повторного запуска посетителем сайта или ботом.
- Нет резервной копии перед массовыми консольными операциями с данными. Ошибка в разовом скрипте может повредить данные без возможности быстрого отката.
Итог
Консольные операции — быстрый и надёжный способ выполнять массовые и тяжёлые задачи на проекте 1С-Битрикс без ограничений, характерных для веб-интерфейса, включая ограничение времени выполнения PHP-скрипта. Перед любой массовой операцией с реальными данными стоит проверить охват на небольшой выборке и убедиться в наличии свежей резервной копии на случай непредвиденного результата.
