Rsync via conexão shell remoto: o servidor envia mensagem de log rsync em vez de saudação

Rsync via conexão shell remoto: o servidor envia mensagem de log rsync em vez de saudação

Estou tentando executar o rsync via conexão shell remoto de um NAS Asustor para meu servidor Ubuntu. O comando do NAS não pode ser alterado, pois é executado a partir da interface web. Mas eu conheço o comando que está sendo executado e posso testá-lo manualmente, o que dá erro. Parece algo assim quando executo no 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]

Notei que a mensagem acima se parece exatamente com o formato de log do rsyncd. Este é um exemplo de saída do rsyncd ao executar o rsync do NAS para meu servidor Ubuntu sem 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

Verifiquei que tanto o SSH quanto o rsync funcionam sozinhos, esse problema só acontece quando tento executar o script, ou seja, o rsync via conexão shell remoto.

Isso parece muitoRsync com ssh e root não funciona após alterar o IP dos hosts, mas o problema era uma mensagem de saudação de .bashrc.

Responder1

Eu mesmo encontrei a resposta. Como eu disse, a saída da qual o rsync reclamou parecia exatamente igual ao log do rsync. O problema foi meu rsyncd.conf. Comecei este projeto construindo um docker para o serviço rsync. Para obter feedback da minha janela de encaixe, adicionei a seguinte linha ao meu arquivo de configuração: log file = /dev/stdout. O daemon rsync imprimiu o log diretamente em stdout!

informação relacionada