Способы переноса файлов между серверами

В качестве примера представим следующую ситуацию:

На сервере А есть архив 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.