我们有一个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 |
是的,就像一个魅力
—
异常
您有哪些版本的rsync?(第一行
—
2014年
rsync --version
)
查看编辑版本
—
abergmeier 2014年
尝试将该选项添加
—
Flu
--protocol=30
到rsync命令。
ssh myuser@winmachinename rsync --help
- 你得到rsync使用输出?