Estoy bastante confundido en cuanto a por qué rsync requiere --rsync-path flag incluso cuando rsync remoto está en ruta.
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]
entonces intenté agregar --rsync-path
$ rsync -avze 'ssh -p 22' --rsync-path=/usr/bin/rsync --delete public/ [email protected]:~/public_html
sending incremental file list
...
Entonces, el primer rsync no tuvo éxito porque estaba buscando rsync en / usr / local / bin pero tan pronto como paso la ruta obvia para rsync usando --rsync-path, entonces funciona.
¿Por qué es esto? (esta línea de comando es la emitida por rake deploy en octopress)
$ cat ~/.bashrc | grep PATH
no devuelve nadawhich rsync
¿qué obtienes?$ ssh [email protected] which rsync
regresa/usr/bin/rsync
alias
editadorsync --rsync-path
(o algún otro contenedor local)?Respuestas:
Mi memoria ahora es bastante borrosa, pero la razón por la que esto sucedía fue que usé GNU stow en rsync en algún momento y creé algunos enlaces simbólicos que confundían
rsync
la ubicación. Esto se solucionó después de muchos tirones de pelo. Ahora soy mucho más ligero en el cabello pero por otro lado tengo un trabajorsync
. Eso debe ser una victoria si me preguntas.fuente