При загрузке сайта на хостинг с другого сервера используется 3 вариации копирования:
- копирование с сервера, на котором находитесь, на удаленный сервер
- копирование на сервер, на котором находитесь с другого сервера
- копирование с одного сервера на другой, находясь при этом на третьем
1. Копирование с сервера, на котором находитесь, на удаленный сервер
Для копирования с сервера на котором вы находитесь вам нужно знать пароль сервера, на который будете копировать файлы. Ввод команд происходит в консоли авторизованным супер-пользователем root. Для этого рекомендую пользоваться Putty. Для примера в качестве исходных адресов каталогов специально взяты корневые папки сайта домена, создаваемые при использовании панели Vesta.
Если находитесь в папке расположения файла, команда копирования будет выглядеть так
scp имя-файла.расширение root@IP-нового-сервера:/home/admin/web/ваш-домен.ru/public_html/
После ввода команды потребуется ввести пароль сервера, на который планируется копировать файл.
Конструкция команды состоит из трех блоков, разделяемых пробелами: 1. имя команды, 2. имя файла, который нужно скопировать, 3. адреса папки на новом сервере, куда нужно скопировать файл. Соответственно в эту конструкцию следует внести изменение в части вашего имени файла, IP вашего сервера и адреса, куда следует перенести файл.
Если находитесь на сервере где расположен файл в любом месте, команда будет выглядеть так
scp /home/admin/web/ваш-домен.ru/public_html/имя-файла.расширение root@IP-нового-сервера:/home/admin/web/ваш-домен.ru/public_html/
Для копирования папки на другой сервер команда выглядит так
scp -r /home/admin/web/ваш-домен.ru/public_html/имя-папки/ root@IP-нового-сервера:/home/admin/web/ваш-домен.ru/public_html/
После ввода команды потребуется ввести пароль сервера, на который планируется копировать файл или папку.
В этом случае конструкция практически не меняется, просто добавляется полный адрес к файлу/папке, которые нужно скопировать. В случае с копированием папки, добавляется параметр –r, обозначающий применение копирования ко всем файлам и каталогам внутри копируемой папки.
2. Копирование на сервер, на котором находитесь с другого сервера
Если вы авторизованы на новом сервере и хотите перенести в определенный каталог файл с другого сервера и при этом знаете полный адрес его месторасположения, можно воспользоваться такой конструкцией команды
scp root@IP-другоо-сервера:/home/admin/web/домен.ru/public_html/имя-файла.расширение /home/admin/web/ваш-домен.ru/public_html/
При копировании папки команда выглядит так
scp –r root@IP-другоо-сервера:/home/admin/web/домен.ru/public_html/имя-папки/ /home/admin/web/ваш-домен.ru/public_html/
После ввода команды потребуется ввести пароль сервера, с которого планируется копировать файл/папку.
3. Если находитесь на третьем сервере, а скопировать файл нужно с первого сервера на второй, команда будет выглядеть так
scp root@IP-первого-сервера:/home/admin/web/ваш-домен.ru/public_html/имя-файла.расширение root@IP-второго-сервера:/home/admin/web/ваш-домен.ru/public_html/
При копировании папки команда выглядит следующим образом
scp –r root@IP-первого-сервера:/home/admin/web/ваш-домен.ru/public_html/имя-папки/ root@IP-второго-сервера:/home/admin/web/ваш-домен.ru/public_html/
После ввода команды потребуется ввести пароль обоих сторонних серверов, того откуда копируется файл/папка и с которого планируется копировать файл/папку.
В этом случае удлинение происходит за счет добавления полного адреса серверов к обоим каталогам, где находится файл/папка и куда его следует скопировать.
Иногда, в процессе изложенного в данной статье копирования происходит SSH ошибка, как с ней бороться указано здесь.
На этом о копировании файлов с одного сервера на другой изложено, наверное, все.