SSH経由でディレクトリをコピーする方法

SSH経由でディレクトリをコピーする方法

つながっていsshて、私のリンクを受けたいです。地元の私たちのために離れてサーバーどうすればいいですか?私はそれを使用して複数の投稿を読みましたscpが、それは私には機能しません。一部の投稿ではこれを使用することを提案していますrsyncが、私の場合はディレクトリをコピーしたいと思います。

答え1

aにログインしている間にシステムaからbにディレクトリをコピーする場合:

scp -r /path/to/directory user@machine_b_ipaddress:/path/to/destination

bにログインしている間にコンピュータaからbにディレクトリをコピーするには、次の手順を実行します。

scp -r user@machine_a_ipaddress:/path/to/directory /path/to/destination

答え2

標準出力のストリームとしてアーカイブを使用またはcpio作成し、それをSSHにパイプしてからリモートホストからストリームを抽出できます。tarたとえば、tarを使用すると、次のようになります。

tar cf - dir | ssh remotehost 'tar xf -'

リモートホストの別のディレクトリにアーカイブを抽出するには、次のようにします。

tar cf - dir | ssh remotehost 'tar xfC - /path/on/remote'

tarこのオプションをサポートするか、次のことを行う場合C

tar cf - dir | ssh remotehost '
  cd /path/on/remote && tar xf -'

そうでなければ。

低帯域幅接続では、ストリームを圧縮する必要があるかもしれません。

tar cf - dir | gzip -3 | ssh remotehost '
  cd /path/on/remote && gunzip | tar xf -'

(CPUがボトルネックを引き起こしていることを確認したら、gzip/を選択したストリームコンプレッサーに置き換える方が良い選択かもしれません。)gunziplzoplzop -d

答え3

これがあなたに役立つと思いました:

scp file user@host:/location_to_save_file

scp- セキュアコピー - リモートノードにscpしたいファイル - ファイルscp権限を持つユーザー(sysadminなど) - @ユーザーとホストの区切り文字ホスト - ファイルをscpしたいノード - :/location_to_save_fileファイルを保存する絶対パス

関連情報