incompatibilidade do protocolo rsync

4

Ao fazer um pull rsync de um servidor remoto usando o seguinte comando:

/usr/bin/rsync -av -e ssh --delete --chmod=a+rwx,g+rwx,o-wx --dry-run username@server:/remote/path/ /home/dir/local/path

Eu recebo o seguinte erro:

receiving file list ... Invalid flist flag: 1004
rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7]

Ao fazer o inverso (ou seja, PUSH) de remoto para local, recebo o seguinte:

building file list ... Invalid flist flag: 1004
rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(468) [sender=2.6.8]

Eu tentei remover os parâmetros um por um e parece estar relacionado ao sinalizador -a

Ambiente

# local machine
Linux lbox 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux
# rsync version
rsync  version 3.0.7  protocol version 30

# remote machine
FreeBSD rbox 6.4-STABLE FreeBSD 6.4-STABLE #0: Mon Feb 22 01:05:13 EST 2010     UNIX-BSD
rsync  version 2.6.8  protocol version 29

Isso pode ser resolvido facilmente?

    
por denormalizer 05.10.2012 / 05:53

2 respostas

3

Curiosamente, colocar uma máquina intermediária entre a máquina de origem e de destino obtém o resultado desejado:

ie.

máquina 1 (origem) > > máquina 2 (intermediário) > > máquina 3 (destino)

machine 1: rsync  version 2.6.8  protocol version 29
machine 2: rsync  version 3.0.3  protocol version 30
machine 3: rsync  version 3.0.7  protocol version 30
    
por 05.10.2012 / 07:59
7

A caixa FreeBSD tem uma versão de seis anos do rsync que usa uma versão de protocolo mais antiga. Você pode forçar a nova versão do rsync a usar o antigo protocolo adicionando --protocol=29 ao seu comando rsync .

    
por 05.10.2012 / 05:57