Разное

Перенос сайта при помощи scp

Я думаю, для большинства не секрет, что в СУС 1С-Битрикс: Управление сайтом есть отличная система для переноса сайта, посредством скрипта restore.php, с помощью которого можно перенести как с помощью бекапа сайта, так и через облачный сервис. Все это крайне удобно, но когда объем сайта значительный, то возникают проблемы и в архивации и в переносе и в разархивации резервной копии. В этой небольшой статье приведу альтернативный инструмент, которым мне нравится пользоваться для переноса сайтов.

Не буду делать большой секрет — это инструмент известный. Программа scp помогает справиться со многими невзгодами. А теперь по порядку о том как я переношу сайт большого объема.

Сначала нужно сделать дамп базы данных. Он, конечно, присутствует в составе резервной копии от Битрикс, но мы сейчас говорим о тех случаях, когда стандартный инструмент не справился. Для того, чтобы сделать дамп базы данных нужно узнать доступ к БД, который применяет Битрикс для доступа к СУБД. Это можно подсмотреть в файлах /bitrix/.settings.php и /bitrix/php_interface/dbconn.php.

Затем используем такую команду через ssh:

mysqldump -uпользователь -pпароль база_данных > db.sql

Если предварительно зайти в корень сайта, то дамп базы данных окажется в корне сайта и он скопируется вместе с сайтом.

Далее используем scp. Для этого заходим по ssh на сервер, на который мы хотим перенести сайт, заходим в пустую папку для сайта и составляем такую команду

scp -r пользользователь_ssh@url_или_ip:/путь/до/папки/сайта/* .

Потребуется ввод пароля от второго сервера.

Здесь нужно будет набраться терпения и ждать пока пофайлово скопируется сайт. Однако, можно открепить команду от своего пользователя ssh и закрыть терминал. Для этого нужно нажать Ctrl-Z и выполнить этот ряд команд:

disown -h %1
bg 1

После этого можно спокойно закрыть терминал связи по ssh и время от времени проверять как идет процесс копирования с помощью команд top или htop. Когда scp более не будет появляться в списке процессов — значит копирование полностью завершено.

Когда копирование завершено можно на новом сервере залить дамп в базу данных на новом сервере командой:

mysql -uпользователь -pпароль база_данных < db.sql

помним, что файл db.sql был в корне скопированного сайта.

И меняет в файлах /bitrix/.settings.php и /bitrix/php_interface/dbconn.php доступ к БД на актуальный.

На этом перенос сайта благополучно завершен!

Отставить комментарий

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

три × три =