GNU/Linux >> Linux の 問題 >  >> Linux

2つのリモート間でファイルをRsyncする方法は?

ローカルシェルを使用して2つのリモートホスト間でファイルを転送したいのですが、2つのリモートが次のように指定されている場合、rsyncは同期をサポートしていないようです:

$ rsync -vuar host1:/var/www host2:/var/www
The source and destination cannot both be remote.

同様の結果を達成するために使用できる他の回避策/コマンドは何ですか?

承認された回答:

あなたが発見したように、リモートソースとリモート宛先でrsyncを使用することはできません。 2つのサーバーが相互に直接通信できないと仮定すると、sshを使用してローカルマシンを介してトンネリングすることができます。

代わりに

rsync -vuar host1:/var/www host2:/var/www

これを使用できます

ssh -R localhost:50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /var/www localhost:/var/www'

ご参考までに、<​​code> -R オプションは、host1のポート50000から(ローカルマシンを介して)host2のポート22にマップするリバースチャネルを設定します。 host1からhost2への直接接続はありません。


Linux
  1. Rsyncを選択的に消音する方法は?

  2. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

  3. CentOS / RHEL 5,6 で /tmp および /var/tmp ディレクトリ内のファイルの自動削除を無効にする方法

  1. Linuxで2つのファイルの違い(追加のみ)を取得する方法

  2. /var/www/... の Django static_root - collectstatic へのアクセス許可がありません

  3. /var/www を管理するにはどうすればよいですか?

  1. /var/lib/mysql ファイルを再初期化する方法は?

  2. 2 つのサーバー間で大量のファイルをすばやくコピーする方法

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?