Yosemiteクライアントから共有Webホストに同期しています。
認証キーを設定し、SSHをうまく使用でき、scpファイルに問題はありません。
-n(dry run)オプションを使用してrsyncすると、変更されたファイルはエラーなしで一覧表示されます。
ただし、-nなしで同じコマンドを使用すると、次の結果が表示されます。
building file list ... done
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [sender=2.6.9]
理由がわからない。 1時間オンラインで検索しましたが、手がかりやその他のエラーメッセージが見つかりませんでした。
どんなアイデアがありますか?
答え1
サーバーは@ERROR
メッセージを返すことができますが、クライアントはそのエラーを早期EOFとして報告できます。
最初のステップは、根本的なエラーが何であるかを調べることです。動作していることを確認するには、より単純なフラグでrsyncを実行することをお勧めします。 rsyncがロードされない可能性がありますが、libz
何かを圧縮するまでこれを知ることはできません。
2番目のステップは、Yosemiteクライアントに受信した8バイトに関する情報を知らせるように依頼することです。十分な-v
フラグを追加しても問題が解決しない場合は、最新のrsyncを構築することをお勧めします(たとえば、Homebrewやhomebrew/dups
kegを使用)。 OSXの比較的古いrsyncが提供していないいくつかの有用な情報を教えてくれます。
設定の問題が気に入らない場合は、Yosemiteシステムへのssh -R
ポート転送を再度有効にするrsyncデーモンを設定し、Webホストシェルでrsyncを手動で実行してシステムのrsyncに接続できます。悪魔。これにより、エラーメッセージが一目でわかります。
答え2
この質問はしばらく要求されましたが、誰かに役立つ可能性があります。
サーバーに同期すると、同じエラーメッセージが表示されました。私の場合、同期したいフォルダがサーバー側にありませんでした。フォルダを作成すると問題が解決しました。
答え3
私はこれが大きな木をコピーするときに主に発生することがわかりました。 Mac版はサーバーに接続した後にファイルのリストを作成します。時間がかかりすぎると、相手サーバーが長時間非アクティブになったため、接続を閉じます。
rsync の新しいバージョンはファイル リストを徐々に構築するので、コピーはほぼ直ちに開始され、接続はアイドル状態ではありません。 2つの利点は次のとおりです。
- 私は接続を中断することなく何百万ものファイルをrsync待っています。
- ネットワーク接続が不安定で、時々途切れても、コマンドを実行するたびに進みます。
brew install rsync
たとえば、Brew:を使用して最新バージョンのrsyncをインストールして、Mac OS Xでこの問題を解決します。 Mac OS X の基本バージョン 2.6.9 から 3.1.3 にアップグレードすると、この問題は解決します。
答え4
リモートサーバーにターゲットディレクトリがあることを確認してください。rsync
1 つのディレクトリの欠落を補償することは可能ですが、3 つ以上のディレクトリレベルが失われると表示されるエラーが発生します。