Estou bastante confuso sobre o motivo pelo qual o rsync requer o sinalizador --rsync-path, mesmo quando o rsync remoto está no caminho.
Considerar:
$ rsync -avze 'ssh -p 22' --delete public/ [email protected]:~/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]
então eu tentei adicionar --rsync-path
$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync --delete public/ [email protected]:~/public_html
sending incremental file list
...
Portanto, o primeiro rsync não foi bem-sucedido porque estava procurando por rsync em / usr / local / bin, mas assim que eu passo pelo caminho óbvio para o rsync usando --rsync-path, ele funciona.
Por que é isso? (esta linha de comando é a emitida pelo rake deploy no octopress)
$ cat ~/.bashrc | grep PATH
não retorna nada.which rsync
o que recebe?$ ssh [email protected] which rsync
retorna/usr/bin/rsync
alias
ed pararsync --rsync-path
(ou algum outro invólucro local)?Respostas:
Minha memória está agora bastante confusa nisso, mas a razão pela qual isso estava acontecendo era que eu usei o GNU stow no rsync em algum momento e criei alguns links simbólicos que confundiam
rsync
a localização do s. Isso foi resolvido depois de muito puxar o cabelo. Agora sou muito mais leve com os cabelos, mas por outro lado tenho um trabalhorsync
. Isso deve ser uma vitória se você me perguntar.fonte