Переезд Битрикс — это не «скопировать папку», а перенос файлов, базы, настроек и окружения как единого целого. Разбираем два пути: штатный через restore.php и ручной через rsync + mysqldump, а также правку конфигов, DNS и финальную проверку.
Подготовка к переносу
Перед миграцией зафиксируйте окружение-источник и подготовьте приёмник. Целевой сервер должен удовлетворять тем же требованиям: PHP 8.1+, MySQL 8.0 на InnoDB, нужные расширения и корректный sql_mode. Идеально — тот же BitrixEnv той же версии.
- снимите свежий дамп БД и полную копию файлов;
- запишите версии PHP/MySQL и список нестандартных расширений;
- проверьте кастомные пути в
/bitrix/.settings.phpи/bitrix/php_interface/dbconn.php; - предупредите о технологическом окне и, если можно, включите режим «Сайт недоступен» на время финальной синхронизации.
Штатный способ: restore.php
Самый простой путь для средних сайтов — механизм резервного копирования Битрикс. В админке источника: Настройки → Резервное копирование, создаёте архив (файлы + БД). Затем на чистом целевом сайте кладёте в корень restore.php (скачивается с сайта 1С-Битрикс) и открываете его в браузере.
Скрипт скачает архив (по ссылке или из облака 1С-Битрикс), распакует файлы, восстановит базу и предложит ввести новые параметры подключения. Плюсы — не нужен доступ к консоли, минусы — ограничение по размеру и времени выполнения PHP.
Ручной перенос файлов
Для крупных проектов файлы переносят напрямую через rsync — он умеет докачку и синхронизацию изменений, что удобно для минимизации простоя:
rsync -avz --delete -e ssh /home/bitrix/www/ bitrix@new-server:/home/bitrix/www/
Первый прогон делают заранее (данные большие), а финальный — в технологическое окно, чтобы догнать изменившиеся файлы. Альтернатива для разового переноса — архив:
tar -czf site.tar.gz -C /home/bitrix/www .scp site.tar.gz bitrix@new-server:/home/bitrix/www/
После распаковки на приёмнике обязательно вернуть владельца: chown -R bitrix:bitrix /home/bitrix/www и, при RHEL, восстановить контексты SELinux через restorecon -Rv.
Перенос базы данных
Базу выгружают mysqldump с ключами, важными для больших таблиц Битрикс:
mysqldump --single-transaction --quick --default-character-set=utf8mb4 -u root -p sitemanager | gzip > db.sql.gz
Флаг --single-transaction снимает согласованный дамп InnoDB без блокировки таблиц, --quick экономит память на больших выборках. На целевом сервере создаём базу и импортируем:
gunzip < db.sql.gz | mysql -u root -p sitemanager
| Ключ mysqldump | Зачем |
|---|---|
| --single-transaction | Согласованный дамп InnoDB без локов |
| --quick | Потоковая выгрузка, меньше RAM |
| --default-character-set=utf8mb4 | Сохранение кодировки, без «кракозябр» |
| --routines --triggers | Перенос процедур и триггеров |
Правка настроек после переноса
После копирования файлов и БД портал ещё не заработает, пока не поправлены параметры подключения и путей. Проверьте и при необходимости отредактируйте:
/bitrix/.settings.php— секцияconnections(хост, имя базы, логин, пароль MySQL);/bitrix/php_interface/dbconn.php— старые параметры БД и настройки кеша/memcached;/bitrix/.settings_extra.php— переопределения окружения;- очистите кеш: удалите содержимое
/bitrix/cache,/bitrix/managed_cache,/bitrix/stack_cacheи композит/bitrix/html_pages.
DNS-переключение и проверка
Когда новый сервер отвечает по своему IP (проверьте, подставив адрес в /etc/hosts локально), переключайте DNS A-запись на новый IP. Благодаря сниженному TTL переезд займёт минуты. Финальный чек-лист:
- запустите
/bitrix/admin/site_checker.php— окружение должно быть зелёным; - проверьте авторизацию, оформление заказа, обмен с 1С и отправку почты;
- убедитесь, что работает cron и агенты (Настройки → Настройки продукта → Агенты);
- проверьте SSL-сертификат и редиректы;
- включите композит и прогрейте кеш.
Итог
Перенос Битрикс — это связка «файлы + база + настройки + окружение». Для средних сайтов подходит штатный restore.php, для тяжёлых — ручная миграция через rsync и mysqldump с последующей правкой .settings.php и dbconn.php, очисткой кеша и аккуратным переключением DNS. Финальную приёмку всегда делайте по site_checker и реальным бизнес-сценариям.
Миграция боевого магазина без простоя и потери заказов требует репетиции и отката наготове. Мы в B2Bsite переносим проекты на 1С-Битрикс между серверами и в облака под ключ: планируем окно, синхронизируем данные, тестируем на копии и переключаем трафик так, чтобы пользователи ничего не заметили.
Частые вопросы
Какой способ переноса выбрать?
Для средних сайтов проще штатный restore.php из резервной копии. Для крупных проектов на десятки гигабайт надёжнее ручной перенос через rsync и mysqldump.
Почему restore.php не подходит для больших сайтов?
Скрипт упирается в max_execution_time PHP и требует места под архив и его распаковку. На тяжёлых проектах он падает по времени или диску.
Какие ключи mysqldump нужны для Битрикс?
Используйте --single-transaction для согласованного дампа InnoDB, --quick для экономии памяти и --default-character-set=utf8mb4, чтобы сохранить кодировку.
Какие файлы править после переноса?
Параметры БД в /bitrix/.settings.php и /bitrix/php_interface/dbconn.php, при необходимости .settings_extra.php, а также очистить каталоги кеша и композита.
Как перенести файлы с минимальным простоем?
Синхронизируйте данные через rsync заранее, а в технологическое окно догоняйте изменения повторным прогоном rsync с ключом --delete.
Что сделать с DNS при переезде?
За сутки снизьте TTL записи до 300 секунд, а в момент переключения смените A-запись на новый IP. Тогда переезд займёт минуты.
Нужно ли восстанавливать права и SELinux после переноса?
Да. После распаковки верните владельца chown -R bitrix:bitrix и на RHEL восстановите контексты SELinux командой restorecon -Rv.
Можно ли сразу выключить старый сервер?
Нет. Держите его 1–2 недели: DNS кешируется у провайдеров, и часть трафика ещё идёт на старый IP. Иначе потеряете часть заказов.
Поможем с настройкой и поддержкой Для разработчиков
Поможем с настройкой, доработкой и поддержкой Для разработчиков.