Главная » 2015 » Ноябрь » 22 » Как передавать файлы с одного Linux сервера на другой
01:13
Как передавать файлы с одного Linux сервера на другой

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

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

Шаги

  1. 1 Для простого файла попробуйте команду "scp". Вы можете использовать это как команды "push" или "pull", но давайте начнем с pushing (выдвигания) файла на другой сервер. В то время как на alice используйте команду "scp myfile fieldmouse@madhat:thatfile". Это скопирует файл на другую систему в идентификатор пользователя userid - "thatfile". Если вы были зарегистрированы в другой системе, вы можете так же легко вытащить файл с помощью команды "scp rabbit@alice:myfile thatfile" и получите тот же результат.
  2. 2 Чтобы скопировать весь каталог, мы можем снова обратиться к команде "scp". TНа этот раз мы добавим ключ -r, чтобы заставить копию действовать "рекурсивно". "scp -r mydir fieldmouse@madhat:." - скопирует весь каталог"mydir" на другую систему, включая все его содержание и дополнительные каталоги. Каталог на madhat все равно будет называться mydir.
  3. 3 Что делать, если у вас есть большой "беспорядок" с файлами и каталогами для копирования? Вы можете использовать команду "tar" чтобы создать один файл, а затем скопировать этот файл, как указано выше, а затем использовать tar, чтобы распространить его на другом сервере ... Но это похоже на то... не Unix-подобные. Там должен быть способ сделать это за один шаг, не так ли? Ну, конечно!

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

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

Советы

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

Предупреждения

  • Убедитесь, что идентификаторы и их GID на различных систем, которые вы используете, совпадают (не только имена пользователей). Если это не так, интересные проблемы с безопасностью будут происходить.
Категория: Вопросы и ответы | Просмотров: 390 | | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]