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

Загрузить PDFЗагрузить PDF

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

  1. Step 1 Для простого файла попробуйте команду  "scp".
    Вы можете использовать это как команды "push" или "pull", но давайте начнем с pushing (выдвигания) файла на другой сервер. В то время как на alice используйте команду "scp myfile fieldmouse@madhat:thatfile". Это скопирует файл на другую систему в идентификатор пользователя userid - "thatfile". Если вы были зарегистрированы в другой системе, вы можете так же легко вытащить файл с помощью команды "scp rabbit@alice:myfile thatfile" и получите тот же результат.
  2. How.com.vn Русский: Step 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 на различных систем, которые вы используете, совпадают (не только имена пользователей). Если это не так, интересные проблемы с безопасностью будут происходить.
Реклама

Об этой статье

How.com.vn работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры. Количество просмотров этой статьи: 10 982.
Категории: Linux
Эту страницу просматривали 10 982 раза.

Была ли эта статья полезной?

⚠️ Disclaimer:

Content from Wiki How Русский language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Реклама