Estoy intentando ejecutar rsync a través de una conexión de shell remoto desde un NAS Asustor a mi servidor Ubuntu. El comando del NAS no es posible cambiar ya que se ejecuta desde la interfaz web. Pero conozco el comando que se está ejecutando y puedo probarlo manualmente, lo que da un error. Se parece a esto cuando lo ejecuto desde el NAS:
$ /usr/builtin/bin/rsync -e "/usr/bin/ssh -l ssh-user-on-my-server -p 12345" --progress -a --timeout=60 rsync://[email protected]:873/rsync-module
[email protected]'s password:
rsync: server sent "2017/01/17 19:38:58 [6920] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)" rather than greeting
rsync error: error starting client-server protocol (code 5) at /asustor/branch2_6_2016_09_22/x64_g1/source/rsync-3.0.9/main.c(1649) [Receiver=3.0.9]
Me di cuenta de que el mensaje anterior se parece exactamente al formato de registro de rsyncd. Este es un ejemplo de resultado de rsyncd cuando ejecuto rsync desde el NAS a mi servidor Ubuntu sin SSH:
2017/01/06 23:42:13 [5979] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] rsync on rsync-module/ from [email protected] (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] building file list
2017/01/06 22:42:14 [5979] sent 172 bytes received 24 bytes total size
He verificado que tanto SSH como rsync funcionan por sí solos, este problema solo ocurre cuando intento ejecutar el script, es decir, rsync a través de una conexión de shell remoto.
Esto se parece muchoRsync con ssh y root no funciona después de cambiar la IP del host, pero el problema fue un mensaje de saludo de .bashrc
.
Respuesta1
Yo mismo encontré la respuesta. Como dije, la salida de la que se quejó rsync se veía exactamente como el registro de rsync. El problema era mi rsyncd.conf
. Comencé este proyecto construyendo una ventana acoplable para el servicio rsync. Para obtener comentarios de mi ventana acoplable, agregué la siguiente línea en mi archivo de configuración: log file = /dev/stdout
. ¡El demonio rsync imprimió el registro directamente en stdout
!