Rsync crea un messaggio di errore non spiegato (codice 255) su io.c (837)


11

Quando provo ad rsync -qaPH source/ 192.168.1.21:/var/backupsavere

rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]

Cosa c'è di sbagliato nel mio comando?


Immagino che l'errore si stia verificando su questa riga: git.samba.org/rsync.git/… . Se riesci a guadare attraverso il codice circostante, potrebbe dirti all'incirca cosa è successo.
mwfearnley,

Risposte:


6

Per indagare, aggiungi una o più -vopzioni al comando rsync. Inoltre, prova ad usare plain ssh:

ssh -v 192.168.1.21 /bin/true

per scoprire se è il problema a causare rsync o la connessione ssh sottostante.


4

255 in realtà non è un rsynccodice di ritorno "nativo" . rsyncraschia il codice di errore 255 da SSH e lo restituisce. Mi sembra che qualcosa sul server di destinazione stia bloccando SSH o rompendolo una volta connesso, quindi "tubo rotto". Non sono d'accordo con @kenorb perché se si trattasse di un problema di timeout probabilmente vedresti i rsynccodici di uscita 30 o 35.


1

Molto probabilmente l'errore di tubo rotto indica che hai raggiunto il timeout. Ad esempio il comando remoto rsync ha iniziato a calcolare le differenze tra i file, ma non ha risposto al client in tempo.

Se ciò accade molto spesso, aggiungi queste impostazioni al tuo locale ~/.ssh/config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

e sul server remoto (se hai accesso), imposta questi nel tuo /etc/ssh/sshd_config:

ClientAliveInterval 30
ClientAliveCountMax 6

Vedi: quali sono le opzioni ServerAliveIntervale cosa ClientAliveIntervalsignificano?


0

Ho riscontrato un errore simile utilizzando rsynctramite la mia distribuzione per Emberun'app (ember-cli-deploy). Ho dovuto configurare correttamente il mio ssh(aggiungere le chiavi private al mio ~/.ssh/)


-1

So che questo problema è vecchio, ma forse qualcuno (come me) ha ancora l'errore.

a) Controllare se il servizio ssh è in esecuzione:

sudo service ssh status

b) Verificare la connessione con il comando verboso triplo:

ssh -vvv <hostname>

c) Forse usi il tasto ssh sbagliato o il tasto è rotto in qualche modo.

Vite

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.