Estou usando um script assim:
rsync -avu --delete --progress user@host:~/backup .
e todas as vezes, depois de um tempo, recebem este erro:
rsync: connection unexpectedly closed (10251754 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [receiver=3.1.0]
rsync: connection unexpectedly closed (45482 bytes received so far) [generator]
rsync error: unexplained error (code 255) at io.c(226) [generator=3.1.0]
# generator = Debian 5, rsync version 3.0.3 protocol version 30 (Generator[A])
# receiver = Ubuntu 14.04, rsync version 3.1.0 protocol version 31 (Receiver[A])
Eu tenho mais de dez anos de experiência em rsync
, tentei de tudo, mas não consigo entender por que isso acontece.
Em ambos os lados: não tenho erros nos logs , nada de coisas estranhas no tcpdump, problemas de conexão, firewalls. A transferência só pára depois de algum tempo.
O problema não está limitado a um servidor .
Eu pensei que poderia ser um pouco de incompatibilidade entre as versões do rsync, então eu troco o gerador com um novo servidor (Debian 8) em um farm de servidores completamente diferente e atualizo o rsync no receptor, mas eu entendo isso erro:
rsync: connection unexpectedly closed (31931964 bytes received so far) [receiver]
rsync: [generator] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(820) [generator=3.1.2]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [receiver=3.1.2]
# generator = Debian 8, rsync version 3.1.1 protocol version 31 (Generator[B])
# receiver = Ubuntu 14.04, rsync version 3.1.2 protocol version 31 (Receiver[B])
Então eu tentei sincronizar o Receiver [A] com o Generator [B] através de um proxy e ele funciona
Receiver[A](Italy) <=> HTTP Proxy(Paris) <=> Generator[B](Strasbourg)
Então agora eu tenho
Receiver[A] <=> Generator[A] // ERROR
Receiver[A] <=> Generator[B] // ERROR
Receiver[B] <=> Generator[B] // ERROR
Receiver[A] <=> HTTP Proxy <=> Generator[A] // OK
Receiver[A] <=> HTTP Proxy <=> Generator[B] // OK
Eu também tentei sem o Proxy HTTP
Receiver[A] <=> Generator[C] // OK
Receiver[A] <=> Generator[D] // OK
Receiver[A] <=> Generator[E] // ERROR
onde os geradores [C]
, [D]
e [E]
são servidores em Paris (mesmo farm de servidores do meu HTTP Proxy
) com rsync 3.0.9, prot. v. 30
.
Portanto, a linha inferior aqui é : tenho vários servidores em vários locais. Em Receiver[A]
não tenho firewall e as coisas funcionam bem desde alguns dias atrás. Agora rsync
return unexplained error
e não consigo descobrir o porquê.
Acho que é um erro de rede física (não em minhas máquinas), mas não sei se consigo encontrar, isolar e reproduzir esse erro.
Obrigado pela sua ajuda!