Cattura l'errore rsync reale


0

Stiamo trasferendo file da locale (Windows) a un sistema remoto (Unix). In diverse configurazioni riceviamo il codice di errore n. 13. La pagina man dice che lo è Errors with program diagnostics.

Sui nostri sistemi, sappiamo che una possibile causa sono le autorizzazioni di directory sul server remoto e l'altra è che la porta 873 non è aperta.

C'è un modo distinto per determinare qual è la causa dell'errore? È possibile controllare la porta, in primo luogo, restituire un errore se rilevato, e quindi iniziare il trasferimento?

Lo penserei rsync avrebbe codici di errore più granulari, specialmente quando si tratta della connessione effettiva.

Risposte:


0

Puoi differenziare chiedendo rsync per un elenco di directory del sistema remoto.

  1. Server che risponde correttamente entro due secondi

    $ rsync --contimeout=2 remoteserver::
    SHARE1          We store stuff here
    SHARE2          we store other stuff here
    $ echo $?
    0
    
  2. Il server non esegue un rsync demone

    $ 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. Il server non risponde entro due secondi

    $ rsync --contimeout=2 remoteserver::
    rsync error: timeout waiting for daemon connection (code 35) at socket.c(281) [Receiver=3.1.2]
    $ echo $?
    35
    
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.