当远程rsync在路径中时,rsync需要rsync-path

前端之家收集整理的这篇文章主要介绍了当远程rsync在路径中时,rsync需要rsync-path前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很困惑,为什么rsync需要–rsync-path标志,即使远程rsync在路径中.

考虑:

$rsync -avze 'ssh -p 22' --delete public/ pmatos@domain.com:~/public_html
bash: /usr/local/bin/rsync: No such file or directory
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(601) [sender=3.0.7]

然后我尝试添加–rsync-path

$rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync  --delete public/ pmatos@domain.com:~/public_html
sending incremental file list
...

所以,第一个rsync没有成功,因为它在/usr/local / bin中搜索rsync但是只要我使用–rsync-path传递明显的rsync路径,那么它就可以了.

为什么是这样? (此命令行是由octopress中的rake deploy发布的命令行)

解决方法

我的记忆现在非常模糊,但是这种情况发生的原因是我在某些时候在rsync上使用了GNU stow并创建了一些混淆了rsyncs位置的符号链接.经过大量的拔毛后,这是分类.我现在在头发上更轻,但另一方面我有一个工作rsync.如果你问我,那一定是胜利.

猜你在找的Linux相关文章