Меню Рубрики

Linux перенос файлов на другой сервер

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

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

На сервере А есть архив mysite.tar.gz с файлами сайта, который нужно перенести на сервер Б.

Используя хостинг виртуальных серверов, у вас есть два варианта подобного переноса:

При помощи FTP или SFTP протоколов.

В случае выбора этого способа действия будут следующими:

  • Подключаемся по FTP / SFTP к серверу А.
  • Скачиваем архив c сервера А на ПК.
  • Подключаемся по FTP / SFTP к серверу Б.
  • Загружаем архив с ПК на сервер Б в необходимую директорию.

При помощи утилиты SCP

Этот способ достаточно удобен по причине того, что отпадает необходимость копирования данных на промежуточное хранилище (в данном случае — ПК). Копирование файла происходит напрямую с одного сервера на другой и для выполнения этого действия используется абсолютно не сложная команда:

Пример этой команды реализует копирование архива mysite.tar.gz в директорию /var/www/html/, которая расположена на сервере с IP: 11.11.11.11. Порт подключения используется 22.

Стоит отметить, что эта утилита позволяет копировать сразу несколько файлов. В этом случае файлы указываются следующим образом:

Также, эта утилита может копировать и папку, но в этом случае необходимо использовать параметр –r, который включает рекурсивное копирование всех файлов и папок в указанной директории. Попытка скопировать папку без указания этого параметра завершится ошибкой «Not a regular file». Пример корректной команды копирования папки приведен ниже:

В результате папка с именем directory вместе с её содержимым будет скопирована в директорию /var/www/html/, расположенную на сервере 11.11.11.11.

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

Источник

Копирование файлов scp

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

В этой статье мы рассмотрим как выполняется копирование файлов с помощью утилиты scp (Secure Copy Command), а также что из себя представляет команда Linux scp. При передаче файлы шифруются, так что больше никто не сможет получить к ним доступ и самое интересное, что вам не нужно настраивать FTP или другое дополнительное программное обеспечение. Будет достаточно сервера SSH.

Что такое SCP?

Команда scp — это утилита, которая работает по протоколу SSH, а значит, все что вам нужно для передачи файла на компьютер, это чтобы на нем был запущен SSH сервер, а также вы должны знать логин и пароль для подключения к нему. С помощью команды scp вы можете не только перемещать файлы между локальной и удаленной системой, но и между двумя удаленными системами. Для этого тоже будет достаточно знать пароли от них. И в отличие от Rsync вам не нужно авторизоваться на одном из серверов.

Копирование файлов scp

Эта статья рассчитана в первую очередь на начинающих, поэтому я попытаюсь объяснять все как можно подробнее. Перед тем, как мы перейдем к практике, нужно рассмотреть общий синтаксис команды:

$ scp опции пользователь1@хост1 : файл пользователь2@хост2: файл

Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальной, так и на удаленной машине. А теперь рассмотрим основные опции, которые могут нам понадобиться:

  • -1 — использовать протокол SSH1;
  • -2 — использовать протокол SSH2;
  • -B — пакетный режим для передачи нескольких файлов;
  • -C — включить сжатие;
  • — l — установить ограничение скорости в кбит/сек;
  • -o — задать нужную опцию SSH;
  • -p — сохранять время модификации;
  • -r — рекурсивное копирование директорий;
  • -v — более подробный режим.

scp /home/sergiy/file root@losst.ru:/root/

В качестве пользователя нужно использовать любого пользователя, который есть на сервере. Вместо IP вы можете также домен сервера. Только необходимо, чтобы у выбранного пользователя были права записи в указанную папку.

С помощью опции -r вы можете скопировать на удаленную машину целый каталог. Команда будет выглядеть вот так:

scp -r /home/sergiy/photos root@losst.ru:/root/

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

scp -r /home/sergiy/photos/* root@losst.ru:/root/

Если поменять местами локальный путь и сервер, то вы сможете копировать файлы scp c удаленного сервера на локальный компьютер:

scp root@losst.ru:/root/file /home/sergiy/

Таким же самым образом вы можете копирование файлов scp или папок с сервера:

scp -r root@losst.ru:/root/photos /home/sergiy/

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

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

scp root@losst.ru:/home/root/index.html root@losst.ru:/home/root/www/

Скопируем папку с того же удаленного сервера:

scp root@losst.ru:/root/photos root@losst.ru:/home/root/www/

Выводы

В этой статье мы рассмотрели как выполняется передача файлов scp, как это работает и что вы можете сделать с помощью этой утилиты. Как вы видите, перемещать файлы с одного сервера на другой очень просто. В Linux достаточно понять основы чтобы начать работать эффективнее! А команда scp один из таких инструментов.

Источник

Как передавать файлы с одного Linux сервера на другой

сообщество редакторов, исследователей и специалистов

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.

Количество просмотров этой статьи: 7650.

В Linux среде с несколькими серверами многие задачи предполагают перемещение одного или нескольких файлов с одного сервера на другой. В зависимости от количества файлов, которые вы должны переместить, есть несколько команд, которые могут вам помочь. . Предположим для этих обсуждений, что наши серверы — alice и madhat, и что наш пользователь на alice – это rabbit (кролик), и наш пользователь на madhat — fieldmouse (полевая мышка).

Что делать, если у вас есть большой «беспорядок» с файлами и каталогами для копирования? Вы можете использовать команду «tar» чтобы создать один файл, а затем скопировать этот файл, как указано выше, а затем использовать tar, чтобы распространить его на другом сервере . Но это похоже на то. не Unix-подобные. Там должен быть способ сделать это за один шаг, не так ли? Ну, конечно!

EВведите pipe вашей любимой оболочки. Мы все еще можем использовать tar, чтобы упаковать нужные нам файлы, а затем использовать SSH, чтобы получить их в другой системе (что и SCP использует под оболочками), и tar с другой стороны, чтобы распространить файлы обратно. Но зачем тратить время и пространство, создавая сам файл tar, когда мы могли бы просто создать pipe, которая охватывает две системы и передает данные tar через нее?

Используя тот же каталог, что и в предыдущем примере, попробуйте «tar -cf — mydir/* | ssh fieldmouse@madhat ‘tar -xf -‘»

Источник

EnMaN › Блог › Перенос файлов и папок с помощью SCP

SCP (Secure Copy Protocol) — Линукс команда для защищенного копирования файлов или папок на удаленный компьютер (сервер) или с него, используя для этого протокол SSH (Secure Shell). SCP является составной частью пакета OpenSSH. Благодаря использованию ssh, SCP является отличной заменой для небезопасного протокола FTP, которой широко используется в Интернете.

Копируем файл на удаленный сервер:

Заходим в директорию от куда необходимо скопировать файл/файлы, например file1.zip в директории /home/ , необходимо скопировать на удаленный компьютер в папку /home2/ . Находимся на первом сервере 192.168.0.1
scp file1.zip root 192 .168.0.2:/home2/

или с любого места
scp /home/file1.zip root 192 .168.0.2:/home2/

после ввода у вас запросит пароль к удаленному серверу.
root 192 .168.0.2’s password:

т.е. scp файл пользователь@адрес_сервера (IP или домен):каталог на удаленном сервере куда необходимо это скопировать
если необходимо скопировать несколько файлов то их можно указать через пробел, т.е.: file1.zip file2.zip

Копируем файлы и папки на удаленный сервер:

например вам нужно скопировать несколько каталогов и в каждом каталоге есть много файлов. Находимся на первом сервере 192.168.0.1
scp -r /home/ root 192 .168.0.2:/home2/

после ввода у вас запросит пароль к удаленному серверу.
root 192 .168.0.2’s password:

будет все скопировано что находится в каталоге /home/
т.е. scp каталог_от_куда_копировать_папки_и_файлы пользователь@адрес_сервера (IP или домен):каталог на удаленном сервере куда необходимо это скопировать

параметр: -r – рекурсивное копирование папок (включая подкаталоги);

Копируем файл с удаленного сервера:

Например на удаленном сервере находится file1.zip в директории /home2/, копируем на локальный сервер (там где находитесь) в папку /home/ . Находимся на первом сервере 192.168.0.1
scp root 192 .168.0.2:/home2/file1.zip /home/

после ввода у вас запросит пароль к удаленному серверу.
root 192 .168.0.2’s password:

т.е. мы скопируем с удаленного сервера файл file1.zip с папки /home2/ к себе в каталог /home/

Копируем файлы и папки с удаленного сервера:
scp -r root 192 .168.0.2:/home2/ /home/

после ввода у вас запросит пароль к удаленному серверу.
root 192 .168.0.2’s password:

т.е. скопируем с удаленного сервера все что находится в каталоге /home2/ к себе в каталог /home/

параметр: -r – рекурсивное копирование папок (включая подкаталоги);

Копируем файлы с одного сервера на другой находясь на третем.
scp root 192 .168.0.1:/home/file1.zip root 192 .168.0.2:/home2/

после ввода у вас запросит пароль к удаленным серверам.
root 192 .168.0.1’s password:
root 192 .168.0.2’s password:

т.е. мы скопируем с одного удаленного сервера (192.168.0.1) файл /home/file1.zip на другой удаленный сервере (192.168.0.2) в папку /home2/
находясь на третем сервере (192.168.0.3). Можно копировать файлы а так же и папки, используя параметр -r

Замечание о скорости копирования

По умолчанию scp использует при передаче данных алгоритм шифрования Triple-DES. Можно несколько увеличить скорость передачи, включив алгоритм Blowfish, для этого в командной строке следует добавить -c blowfish:

scp -c blowfish некий_файл ваш_логин@имя_хоста.ru:

Источник

Добавить комментарий

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

  • Как записать установочную флешку mac os
  • Как записать на dvd на mac os
  • Как записать видео с экрана компьютера со звуком mac os
  • Как записать windows на диск на mac os
  • Как записать mac os образ на флешку через ultraiso