Cygwin rsync プロトコル エラー

Cygwin rsync プロトコル エラー

64 ビット Windows と 64 ビット Linux 間でファイルを転送しようとすると、cygwin rsync でエラーが発生します。両方のマシンに rsync 3.0.7 がインストールされています。ssh (デーモンは使用していません) を使用して rsync を実行しています。リモート ボックスへの接続は確立されているようですが、認証後、ファイル転送前に rsync が停止します。

この問題の原因は何でしょうか?

C:\>rsync user@host:~/file newfile
Password:
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=
3.0.7]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packagi
ng/rsync-3.0.6-1/src/rsync-3.0.6/io.c(600) [receiver=3.0.6]

答え1

は、リモート パーティとの接続が切断されたことを意味します。理由error 12rsync環境によって異なります。

rsync をデーモンとして実行している場合は、ログ ファイルで手がかりを確認してください。リモート システムのディスクに十分な空き領域がありますか?パラメータrsyncを指定して実行すると-v、何か役立つ情報が得られるかもしれません。

答え2

結局、問題は Windows の Git インストール (mysysgit) にあることがわかりました。Windows の Git には独自の ssh.exe が付属しており、そのパスは cygwin パスの前にあったため、rsync はデフォルトで git の ssh に設定されていました。解決策は、env PATH で git bin と cygwin の bin ディレクトリを交換するだけでした。

関連情報