
Ubuntu日本語フォーラム

ログインしていません。
PCがA,B,Cと3台あります.
Aからsshを使ってB,Cのディレクトリの同期をとりたいです.
rsync -av -e ssh hoge@servername:/home/hoge/ foo@servername:/home/foo
このように同期元のサーバと,同期先のサーバの両方をリモートにするとrsyncではできないとエラー出力されました.
#いま,資料がないのでコマンド間違ってるかもしれません.
同期元と同期先が両方リモートPCであっても動作するバックアップに使うコマンド(?)はありますでしょうか?
オフライン
ホストA上でのコマンド実行によって、ホストBのディレクトリをホストCのディレクトリに同期するなら、私なら、
host-a-user@host-a:~$ ssh -v -t -l host-b-user host-b "rsync -av -e 'ssh -v -l host-c-user' /path/to/host-b-dir/ host-c:/path/to/host-c-dir/"
などとやります。
・ホストAからホストBへ、ホストBからホストCへSSH接続(パスワード認証)できるという前提
・最初はシンプルなパスワード認証での検証がお勧め。
・デバッグ用にsshコマンドに-vを2箇所つけています。
#2を発展させれば、公開鍵認証、パスフレーズ無で処理の完全自動化、SSH Agent Forwardingを使ってホストAでの鍵一元管理など、やろうと思えば色々やれます。