私はOSXからLinuxまたはUnixボックスでrsyncを使用しようとしてきましたが、あまり制御できません。私はこのようなことをしてきました
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /this/dir/
返されるエラーは次のとおりです。
bash:rsync:コマンドが見つかりませんrsync:接続が予期せず閉じられました(これまでに0バイトを受信しました)[受信者] rsyncエラー:/SourceCache/rsync/rsync-37.3/rsync/io.c(452にリモートコマンドが見つかりません(コード127) )[レシーバー= 2.6.9]
ただし、ドキュメントを読んだ後、実際にはリモートホストにrsyncデーモンをインストールする必要があると思い始めています。
ありがとう!
サーバーでrsyncコマンドが必要ですが、デーモンを実行する必要はありません。
サーバーで動作するrsyncバイナリを取得し、それを自宅のどこかに置き、次のフラグをコマンドラインに追加します。--rsync-path=/home/user/path/to/rsync
。
Rsyncをサーバーにコピーしたくない場合は、scpまたはsshfsを使用できます。
sshfs user@Host ~/sync/user-Host
rsync -av ~/local-dir ~/sync/user-Host/remote-dir
その場合、rsyncは完全にローカルで実行されますが、変更はサーバーに伝播されます。
リモートホストにrsyncが必要です-必ずしもrsyncサーバー(とにかくssl接続を処理しないと思います)ではありませんが、ローカルボックスのrsyncはリモートボックスのrsyncと通信する必要があります。 2つをリンクするためにsshを使用しています。
Rsyncがリモートボックスに存在すると仮定すると、rsyncはシェルにログインしているsshのデフォルトの検索パスにはありません。リモートボックスの設定と権限に応じて、試すことができます
または同様のもの。実行可能ファイル(副サーバー)としてのrsyncがリモートホストに存在しない場合は、追加する必要があります。
上で提案した創造的なsshfsソリューションにもかかわらず、リモートホストでrsyncデーモンを実行せずにrsyncを使用する意味はあまりありません。 rsyncの効率の全体的な考え方は、チェックサムをローカルで計算し、ネットワークを介して比較し、実際に異なるファイルの部分の実際のデータのみを送信することによって、2つのインスタンスにデータセットのローカルコピーを比較させることです。
Sshfsまたは任意のネットワークマウントを使用する場合、チェックサムをローカルで計算し、その上に差を送信するために、リモートホストからネットワークを介してデータセット全体をコピーする必要があるという事実を隠しているだけです。すべてをローカルで削除し、「scp-r」を大量に削除する方が迅速かつ安価です。
[〜#〜] scp [〜#〜] を試してください。すでにsshアクセスを持っているので、リモートホストに他に何もインストールする必要はありません:)
リモートホストからローカルホストにファイルをコピーするには、次を使用します。
# scp -R remoteuser@remotehost:/remote/dir /this/dir/
または、ローカルホストからリモートホストにファイルをコピーします。
# scp -R /this/dir remoteuser@remotehost:/remote/dir