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


11

我对为什么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发布的命令行)


目标端是否有任何强制命令?.bashrc或.profile中是否有可能设置本地环境变量的内容?
SmallClanger 2012年

$ cat ~/.bashrc | grep PATH什么也不返回。
Paulo Matos 2012年

如果您只是沉迷于自己并运行which rsync,您会得到什么?
SmallClanger 2012年

2
$ ssh pmatos@domain.com which rsync返回/usr/bin/rsync
Paulo Matos 2012年

奇怪的。现在,抓着稻草:也许您的本地rsync已aliasrsync --rsync-path(或其他一些本地包装器)同步?
SmallClanger 2012年

Answers:


2

我对此的记忆现在很模糊,但是发生这种情况的原因是,我在某个时候在rsync上使用了GNU stow,并创建了一些混淆rsyncs位置的符号链接。这是经过大量拉毛后整理的。现在我的头发轻得多,但另一方面,我正在工作rsync。如果你问我,那一定是一场胜利。

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.