あるLinuxサーバーから別のLinuxサーバーにファイルを転送する方法

著者: Carl Weaver
作成日: 23 2月 2021
更新日: 1 J 2024
Anonim
【Linux】Ubuntuでファイルサーバーを作って遊ぼう!(中級者~上級者向け)【世界一わかりやすい解説(かもしれない)】
ビデオ: 【Linux】Ubuntuでファイルサーバーを作って遊ぼう!(中級者~上級者向け)【世界一わかりやすい解説(かもしれない)】

コンテンツ

Linuxマルチサーバー環境では、多くのタスクで1つ以上のファイルを1つのサーバーから別のサーバーに移動する必要があります。移動する必要のあるファイルの数に応じて、役立つコマンドがいくつかあります...。これらの議論のために、サーバーがアリスとマッドハットであり、アリスのユーザーがウサギであり、マッドハットのユーザーがフィールドマウスであると仮定しましょう。

ステップ

  1. 1 単純なファイルの場合は、「scp」コマンドを試してください。 これは「プッシュ」または「プル」コマンドとして使用できますが、ファイルを別のサーバーにプッシュすることから始めましょう。アリスにいる間、コマンド「scp myfile fieldmouse @ madhat:thatfile」を使用します。これにより、ユーザーID「thatfile」でファイルが他のシステムにコピーされます。別のシステムにログインしている場合は、コマンド「scprabbit @ alice:myfile thatfile」を使用してファイルを簡単にプルし、同じ結果を得ることができます。
  2. 2 ディレクトリ全体をコピーするには、「scp」コマンドを再度使用できます。 今回は、-rスイッチを追加して、コピーを「再帰的に」動作させるようにします。 "scp -r mydir fieldmouse @ madhat :。" -すべてのコンテンツと追加のディレクトリを含む、「mydir」ディレクトリ全体を別のシステムにコピーします。 madhatのディレクトリは引き続きmydirと呼ばれます。
  3. 3 コピーするファイルやディレクトリが大量にある場合はどうなりますか? 「tar」コマンドを使用して1つのファイルを作成し、そのファイルを上記のようにコピーしてから、tarを使用して別のサーバーに配布できます...しかし、Unixライクではないように見えます。ワンステップでそれを行う方法があるはずですよね?もちろんです!

    Eお気に入りのシェルのパイプを入力します。 tarを使用して必要なファイルをパッケージ化し、SSHを使用して別のシステム(SCPがシェルで使用するもの)にファイルを取得し、tarを使用してファイルを配布することもできます。しかし、2つのシステムにまたがり、tarデータを渡すパイプを簡単に作成できるのに、なぜtarファイル自体を作成するのに時間とスペースを浪費するのでしょうか。

    前の例と同じディレクトリを使用して、 "tar -cf --mydir / * | ssh fieldmouse @ madhat" tar-xf- "を試してください。

チップ

  • もちろん、これを行う方法は他にもあります。 Linuxにはツールがたくさんあります。評価は変更される場合があります。
  • 上記のコマンドを使用している間は、ネットワーク構成と環境に応じて、ユーザー名/ホスト名/ファイルディレクトリ名を変更する必要があります。上記のコマンドは、ファイルをサーバーにコピーするコマンドを実行する方法の例にすぎません。

警告

  • 使用するさまざまなシステムのIDとそのGIDが同じであることを確認してください(ユーザー名だけでなく)。そうでない場合、興味深いセキュリティ問題が発生します。