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

Поэтому рассмотрим быстрый перенос сайта на другой сервер через SSH.

Переносим базу данных mysql

На старом сервере выполняем команду для экспорта базы:

mysqldump -uимя -pпароль dbname > /var/www/domain.ru/dbname.sql

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

Для импорта базы на новом сервере переходим в директорию с базой и используем команду:

mysql -uимя -pпароль dbname < dbname.sql

Если при импорте базы данных Mysql нужно указать хост или порт, сделать это можно вот так:

mysql -hхост -Pпорт -uимя -pпароль dbname < dbname.sql

Переносим файлы сайта

Перенос при помощи утилиты rsync

Если на обоих серверах есть доступ к ssh и установлен rsync, перенести файлы можно командой со старого сервера:

rsync -av /var/www/site.ru/  root@192.168.0.1:/var/www/site.ru/

Или с нового сервера вытащить файлы со старого:

rsync -av root@192.168.1.2:/var/www/site.ru/  /var/www/site.ru/
Перенос с помощью архивирования.

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

Упаковываем командой:

tar -czvf file.tar.gz /full/path

Перебросить можно любым способом, например через scp:

scp file.tar.gz  root@192.168.0.1:/var/www/site.ru/

Распаковать на новом сервере можно командой:

tar -xvf file.tar.gz
Перенос файлов между серверами по FTP.

Если на одном из серверов есть только FTP, то тогда можно переносить файлы по ftp сразу между серверами. Например используя Midnight Commander (mc). Переходим в нём к ftp подключению:

mc ftp

И в появившемся окне

вводим данные для подключения, вида:

ftp://login:pass@host

После этого в одном окне MC будут файлы текущего сервера, в другом удалённого. И их можно копировать между ними в любую сторону.