Pergunta

Eu recebo o seguinte erro ao tentar executar a última versão Cygwin do rsync no Windows XP SP2. O erro ocorre se existem tentativas de ambas as sincronizações locais (isto é: a origem eo destino no disco rígido local apenas) e sincroniza remotos (usando o "ssh -e" do pacote openssh). Qualquer conselhos sobre como corrigir / contornar isso?

bash-3.2$ rsync -a dir1 dir2
rsync: Failed to dup/close: Socket operation on non-socket (108)
rsync error: error in IPC code (code 14) at /home/lapo/packaging/tmp/rsync-2.6.9/pipe.c(143) [receiver=2.6.9]
rsync: read error: Connection reset by peer (104)
rsync error: error in IPC code (code 14) at /home/lapo/packaging/tmp/rsync-2.6.9/io.c(604) [sender=2.6.9]
Foi útil?

Solução

Não é realmente uma resposta à sua pergunta, mas eu encontrei Delta Copiar a ser uma opção muito melhor do que andar com Cygwin. Ele se conecta ao rsync regulares também.

Outras dicas

Você provavelmente tem algo bloqueando rsync. No meu caso é NOD32 Antivirus. Você pode verificar isso executando rsync em 'gdb' da seguinte forma:

$ gdb --args /usr/bin/rsync -a somedir/ anotherdir
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
.....
(no debugging symbols found)
(gdb) run 

Observe o comando "run" depois gdb foi iniciada. Você vai ver alguns saída como esta:

Starting program: /usr/bin/rsync -a somedir/ anotherdir
.....
(no debugging symbols found)
warning: NOD32 protected [MSAFD Tcpip [TCP/IP]]
warning: NOD32 protected [MSAFD Tcpip [UDP/IP]]
warning: NOD32 protected [MSAFD Tcpip [RAW/IP]]
warning: NOD32 protected [RSVP UDP Service Provider]
warning: NOD32 protected [RSVP TCP Service Provider]
(no debugging symbols found)
(no debugging symbols found)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
[New thread 1508.0x720]
[New thread 1508.0xeb0]
[New thread 1508.0x54c]
rsync: Failed to dup/close: Socket operation on non-socket
(108)
rsync error: error in IPC code (code 14) at
/home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/pipe.c(147)
[receiver=3.0.4] 

Assim você terá que adicionar rsync à sua lista de exclusão no que scanner de vírus (NOD32):

c: \ cygwin \ bin \ rsync.exe

Esteja ciente de que uma longa tubulação implementação bug no Cygwin faz com que o rsync para travar se ele é usado através de uma conexão SSH.

A partir de Cygwin v. 1.7, parece que a única maneira confiável para lotes de transferência de dados com rsync é para ligar a um rsync daemon usando o protocolo rsync. DeltaCopy é apenas um invólucro muito em torno deste método.

Alguns usuários aparentemente tiveram sucesso em cima de SSH empurrando dados do Windows para o Unix em vez de puxar a partir do Windows no lado do Unix. Em nossa experiência que é confiável também, apesar de tudo.

O Google para cygwin, rsync, ssh e tubo / asa / tenda e você vai encontrar mais informações sobre este problema.

Eu descobri que este seja um erro winsock. I confirmou o problema começa com a instalação da ATT Communcations Manager (versão 6.12.0046.0) para o Sierra Wireless Aircard (875U). Desinstalar o Gerente de Comunicações eo erro rsync vai embora.

Depois de seguir @akaihola 's conselho que eu encontrei este post com a solução para o mesmo problema. Eu postar a solução aqui, mas os créditos vão para Marc Abramowitz

cygrunsrv --install "rsyncd" --path /usr/bin/rsync --args "--daemon --no-detach" --desc "Starts a rsync daemon for accepting incoming rsync connections" --disp "Rsync Daemon" --type auto

Claro que você precisa Cygwin com rsync.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top