rsync到windows(cygwin)


2

我们有一个Windows文件存储(不要问),现在我想与Windows,Mac和Linux的机器进行rsync。

所以我安装了freeSSHd(登录shell设置为C:/cygwin64/bin/sh.exe),设置证书并从Linux测试test.dat有0字节:

ssh myuser@winmachinename "C:/cygwin64/bin/true.exe" > test.dat

即使用实际输出进行双重检查也能正常工

ssh myuser@winmachinename "C:/cygwin64/bin/ls.exe" > test.dat

现在,当我调用rsync时:

rsync --progress -avz -e ssh myuser@winmachinename:/c/Users ~/test

它失败了:

protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(174) [Receiver=3.1.0]

至于阅读文档,当第一次测试成功时,这不应该发生!?

我现在已经没有想法 - 任何建议如何调试这个?

编辑:

| OS            | rsync version                             |
|:--------------|:------------------------------------------|               
| Windows       | rsync  version 3.0.9  protocol version 30 |
| Linux         | rsync  version 3.1.0  protocol version 31 |

怎么样ssh myuser@winmachinename rsync --help- 你得到rsync使用输出?
Flu

是的,就像一个魅力
异常

您有哪些版本的rsync?(第一行rsync --version
2014年

查看编辑版本
abergmeier 2014年

尝试将该选项添加--protocol=30到rsync命令。
Flu

Answers:


0

问题似乎是路径。

因为我有mysysgit PATH(但不是cygwin),sh.exe从mysysgit调用可执行文件并失败。PATH在mysysgit之前添加cygwin时,错误消失。

在那之后,我有一个新问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.