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
!