Як перадаваць файлы з аднаго Linux сервера на іншы

Аўтар: Carl Weaver
Дата Стварэння: 23 Люты 2021
Дата Абнаўлення: 1 Ліпень 2024
Anonim
Fetch - Как получить данные?  Используем JavaScript
Відэа: Fetch - Как получить данные? Используем JavaScript

Задаволены

У 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 на розных сістэм, якія вы выкарыстоўваеце, супадаюць (не толькі імёны карыстальнікаў). Калі гэта не так, цікавыя праблемы з бяспекай будуць адбывацца.