rsync-Fehler: Fehler im rsync-Protokoll-Datenstrom (Code 12) bei io.c(600)

rsync-Fehler: Fehler im rsync-Protokoll-Datenstrom (Code 12) bei io.c(600)

Seit kurzem kann ich nicht mehr über SSH rsyncen. Jedes Mal bekomme ich den gleichen Fehler

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

ich renne

sudo rsync -av /var/www/html/somedir/ [email protected]:Users/myuser/Desktop/ec2backup

Bitte beachten Sie, dass Benutzername, IP und Verzeichnisse für diesen Beitrag geändert wurden.

In der Vergangenheit habe ich genau denselben Befehl ausgeführt, der mit bash_history überprüft wurde.

Was ich versucht habe:

  1. Habe einen ähnlichen Befehl von einem anderen Server ausgeführt, was zur gleichen Fehlermeldung führte.
  2. Habe rsync lokal getestet (lokales Verzeichnis zu lokalem Verzeichnis), was perfekt funktioniert hat.

Das Einzige, was sich geändert hat, ist, dass ich vor Kurzem Virtualbox und Vagrant installiert habe. Ist es möglich, dass ich Authentifizierung/Ports/usw. auf meinem lokalen Rechner durcheinandergebracht habe?

Jede Hilfe wird sehr geschätzt.

Antwort1

rsync ist auf 999.999.99.9 nicht installiert

Antwort2

Mein Problem war, dass ich cwrsync_6.2.1_x64 in Verbindung mit SSH_for_Windows_7.7p1, LibreSSL 2.6.5 verwendet habe, das in Win10 2004 Build 19041.685 vorinstalliert war.

In Ihrem rsync-Befehl müssen Sie auf die ssh.exe verweisen, die mit diesem spezifischen rsync-Build geliefert wird. Beispiel:

rsync -avHz -e "path_to\cwrsync_6.2.1_x64_free\bin\ssh.exe" --partial ...

Antwort3

Ich habe diesen Fehler erhalten, als das Zielverzeichnis noch nicht vorhanden war. Bei einer Quelldatendatei: /a/b/c/d/data muss bei rsync -av -e ssh /a/b/c/d/ hostname:/a/b/c/d das Zielverzeichnis: hostname:/a/b/c bereits vorhanden sein.

Beim Lesen der Manpage als letzten Ausweg sehe ich, dass dies das beabsichtigte Verhalten ist.

Antwort4

Mit Cygwin habe ich ein „which rynsc“ ausgeführt und das Ergebnis war das vom Cygwin-Setup-Programm bereitgestellte Rsync. Ich hatte Rsync zuvor über das Cygwin-Setup installiert. Als ich jedoch von Cygwin aus „which ssh“ ausführte, zeigte es auf das SSH des Windows-Pfads. Also habe ich Cygwin beendet, das Cygwin-Setup-Programm ausgeführt und SSH von Cygwin aus installiert. Nachdem ich das getan hatte, habe ich dieselben beiden vorherigen Befehle erneut ausgeführt (which rsync und which ssh) und beide Binärdateien zeigten auf die Cygwin-Binärdateien. Als ich dann mein Rsync von Cygwin aus ausführte, funktionierte es ohne Probleme.

verwandte Informationen