Как перенести файлы с одного Linux-сервера на другой: 3 шага

Оглавление:

Как перенести файлы с одного Linux-сервера на другой: 3 шага
Как перенести файлы с одного Linux-сервера на другой: 3 шага

Видео: Как перенести файлы с одного Linux-сервера на другой: 3 шага

Видео: Как перенести файлы с одного Linux-сервера на другой: 3 шага
Видео: Правильное сохранение файлов в Adobe Flash 2024, Апрель
Anonim

В многосерверной среде Linux многие задачи включают перемещение одного или нескольких файлов с одного сервера на другой. В зависимости от количества файлов, которые вам нужно переместить, есть несколько команд, которые могут вам помочь….

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

Шаги

Перенос файлов с одного сервера Linux на другой Шаг 1
Перенос файлов с одного сервера Linux на другой Шаг 1

Шаг 1. Для одного файла попробуйте команду «scp»

Вы можете использовать это как команду «push» или «pull», но давайте начнем с отправки файла на другой сервер. Находясь на Алисе, используйте команду "scp myfile fieldmouse @ madhat: thatfile". Это скопирует файл в другую систему в идентификатор пользователя fieldmouse с именем "thatfile". Если вы вошли в систему в другой системе, вы могли бы так же легко извлечь файл с помощью команды «scp rabbit @ alice: myfile thatfile» и получить те же результаты.

Перенос файлов с одного сервера Linux на другой Шаг 2
Перенос файлов с одного сервера Linux на другой Шаг 2

Шаг 2. Чтобы скопировать весь каталог, мы можем снова обратиться к команде «scp»

На этот раз мы добавим ключ -r, чтобы копия действовала «рекурсивно». "scp -r mydir fieldmouse @ madhat:." скопирует весь каталог mydir в другую систему, включая все его содержимое и дополнительные каталоги. Каталог на madhat по-прежнему будет называться mydir.

Перенос файлов с одного сервера Linux на другой Шаг 3
Перенос файлов с одного сервера Linux на другой Шаг 3

Шаг 3. Что делать, если вам нужно скопировать большое количество файлов и каталогов?

Вы можете использовать команду tar для создания одного файла, а затем скопировать этот файл, как указано выше, а затем использовать tar, чтобы развернуть его на другом сервере… Но это может показаться так… Un-unix-подобным. Должен же быть способ сделать это за один шаг, верно? Ну конечно! Введите свои любимые трубы ракушки. Мы все еще можем использовать tar для упаковки файлов, которые нам нужны, а затем использовать ssh, чтобы передать их в другую систему (это то, что scp использует под обложками), и tar с другой стороны, чтобы развернуть файлы обратно. Но зачем тратить время и пространство на создание реального tar-файла, когда мы могли бы просто создать канал, охватывающий две системы, и передавать через него данные tar? Используя тот же каталог, что и в предыдущем примере, попробуйте «tar -cf - mydir / * | ssh fieldmouse @ madhat 'tar -xf -'"

подсказки

  • Конечно, есть и другие способы сделать это. Linux полон инструментов. Ваш пробег может отличаться
  • Вы должны заменить имя пользователя / имя хоста / имя файла / имя каталога в соответствии с вашей сетевой конфигурацией и средой при использовании вышеуказанных команд. Показанные выше команды являются лишь примерами выполнения команд для копирования файлов на сервер.

Рекомендуемые: