Capture o erro real de rsync

0

Estamos transferindo arquivos do local (Windows) para um sistema remoto (Unix). Em várias configurações, obtemos o código de erro # 13. A página man diz que é Errors with program diagnostics .

Em nossos sistemas, sabemos que uma causa possível são as permissões de diretório no servidor remoto e a outra é que a porta 873 não está aberta.

Existe uma maneira distinta de determinar qual é a causa do erro? É possível verificar a porta, primeiro, retornar um erro se encontrado e, em seguida, iniciar a transferência?

Eu acho que rsync teria códigos de erro mais granulares, especialmente quando se trata da conexão real.

    
por MB34 17.04.2018 / 23:48

1 resposta

0

Você pode diferenciar perguntando rsync para uma listagem de diretórios do sistema remoto.

  1. Servidor respondendo corretamente dentro de dois segundos

    $ rsync --contimeout=2 remoteserver::
    SHARE1          We store stuff here
    SHARE2          we store other stuff here
    $ echo $?
    0
    
  2. Servidor não executando um daemon rsync

    $ rsync --contimeout=2 remoteserver::
    rsync: failed to connect to remoteserver (10.10.10.10): Connection refused (111)
    rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
    $ echo $?
    10
    
  3. O servidor não está respondendo dentro de dois segundos

    $ rsync --contimeout=2 remoteserver::
    rsync error: timeout waiting for daemon connection (code 35) at socket.c(281) [Receiver=3.1.2]
    $ echo $?
    35
    
por 24.04.2018 / 12:06

Tags