Rsync erstellt eine unerklärliche Fehlermeldung (Code 255) bei io.c (837).


11

Wenn ich es versuche, rsync -qaPH source/ 192.168.1.21:/var/backupsbekomme ich

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

Was ist los mit meinem Befehl?


Ich denke, der Fehler tritt in dieser Zeile auf: git.samba.org/rsync.git/… . Wenn Sie durch den umgebenden Code waten können, kann er Ihnen ungefähr sagen, was passiert ist.
mwfearnley

Antworten:


6

Fügen Sie zum Untersuchen -vdem Befehl rsync eine oder mehrere Optionen hinzu. Versuchen Sie auch, einfaches ssh zu verwenden:

ssh -v 192.168.1.21 /bin/true

um herauszufinden, ob es rsync oder die zugrunde liegende ssh-Verbindung ist, die das Problem verursacht.


4

255 ist eigentlich kein "nativer" rsyncRückkehrcode. rsynckratzt den 255-Fehlercode von SSH und gibt ihn zurück. Es sieht für mich so aus, als ob etwas auf dem Zielserver SSH blockiert oder es bricht, sobald es verbunden ist, daher "defekte Pipe". Ich bin mit @kenorb nicht einverstanden, da bei einem Timeout-Problem wahrscheinlich die rsyncExit-Codes 30 oder 35 angezeigt werden .


1

Ein defekter Pipe- Fehler bedeutet höchstwahrscheinlich, dass Sie das Timeout erreicht haben. Beispielsweise hat der Befehl remote rsync begonnen, die Dateidifferenzen zu berechnen, aber nicht rechtzeitig auf den Client geantwortet.

Wenn dies sehr häufig vorkommt, fügen Sie diese Einstellungen zu Ihrem lokalen hinzu ~/.ssh/config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

und auf dem Remote-Server (wenn Sie Zugriff haben), richten Sie diese in Ihrem /etc/ssh/sshd_config:

ClientAliveInterval 30
ClientAliveCountMax 6

Siehe: Was sind die Optionen ServerAliveIntervalund ClientAliveIntervalbedeuten?


0

Ich hatte einen ähnlichen Fehler bei der Verwendung rsyncüber meine Bereitstellung für eine EmberApp (ember-cli-deploy). Ich musste meine korrekt konfigurieren ssh(private Schlüssel zu meinen hinzufügen ~/.ssh/)


-1

Ich weiß, dass dieses Problem alt ist, aber vielleicht hat jemand (wie ich) immer noch den Fehler.

a) Überprüfen Sie, ob der SSH-Dienst ausgeführt wird:

sudo service ssh status

b) Überprüfen Sie die Verbindung mit dem dreifach ausführlichen Befehl:

ssh -vvv <hostname>

c) Vielleicht verwenden Sie den falschen SSH-Schlüssel oder der Schlüssel ist auf irgendeine Weise defekt.

Ranke

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.