В качестве примера представим следующую ситуацию:
На сервере А есть архив mysite.tar.gz с файлами сайта, который нужно перенести на сервер Б.
Используя хостинг виртуальных серверов, у вас есть два варианта подобного переноса:
При помощи FTP или SFTP протоколов.
В случае выбора этого способа действия будут следующими:
- Подключаемся по FTP/SFTP к серверу А.
- Скачиваем архив c сервера А на ПК.
- Подключаемся по FTP/SFTP к серверу Б.
- Загружаем архив с ПК на сервер Б в необходимую директорию.
При помощи утилиты SCP
Этот способ достаточно удобен по причине того, что отпадает необходимость копирования данных на промежуточное хранилище (в данном случае – ПК). Копирование файла происходит напрямую с одного сервера на другой и для выполнения этого действия используется абсолютно не сложная команда:
scp -P 22 mysite.tar.gz root@11.11.11.11:/var/www/html/
Пример этой команды реализует копирование архива mysite.tar.gz в директорию /var/www/html/, которая расположена на сервере с IP: 11.11.11.11. Порт подключения используется 22.
Стоит отметить, что эта утилита позволяет копировать сразу несколько файлов. В этом случае файлы указываются следующим образом:
scp -P 22 filename1 filename2 filenameN root@11.11.11.11:/directoryName/
Также, эта утилита может копировать и папку, но в этом случае необходимо использовать параметр –r, который включает рекурсивное копирование всех файлов и папок в указанной директории. Попытка скопировать папку без указания этого параметра завершится ошибкой «Not a regular file». Пример корректной команды копирования папки приведен ниже:
scp -P 22 -r directory root@11.11.11.11:/var/www/html/
В результате папка с именем directory вместе с её содержимым будет скопирована в директорию /var/www/html/, расположенную на сервере 11.11.11.11.
Теперь вы знаете 2 новых способа переноса данных между серверами. Если есть вопросы по работе с архивами, то рекомендуем ознакомиться с нашей статьей Создание и распаковка архивов в Linux.