rsync error unerklärlicher Fehler (Code 255) bei io.c.


8

Ich habe ein Skript verwendet, um rsync in auszuführen sudo crontab. Das Skript führt eine bidirektionale Rsynchronisierung durch (von ServerA zu ServerB und umgekehrt). Nachdem ich beide Server neu gestartet habe, funktioniert rsync nicht sudo crontab. Ich habe auch einen neuen Cronjob eingerichtet und er schlägt fehl. Der Fehler ist:

rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]

Wenn es jedoch vom Terminal ausgeführt wird, funktioniert das Rync-Skript wie erwartet ohne Probleme. Bitte helfen Sie.

Antworten:


3

Ein wenig schwer zu beantworten, da fast keine relevanten Informationen vorliegen. Wenn ein Befehl jedoch über die Eingabeaufforderung, jedoch nicht über einen Cron-Job ausgeführt wird, müssen Sie in der Regel den vollständigen Pfad zu den Befehlen angeben. Cron-Jobs haben keine normale Benutzerumgebung, was insbesondere bedeutet, dass sie nicht denselben PATH haben wie normale Benutzer.


Früher hatte ich ein ähnliches Problem mit rsync 2.6.8, offensichtlich ein Fehler, der die Übertragung von Crones zufällig beendet hat, aber ich erinnere mich nicht, ob es diesen Fehlercode gab. Es war zu dieser Zeit unter CentOS 5.5. Später mit neueren CentOS-Versionen kam rsync in 3.x und das Problem ist endgültig behoben.
David Ramirez

3

Dies scheint zu passieren, wenn die Verbindung abgelehnt wird:

ssh: Verbindung zum Host-Port herstellen 2222: Verbindung abgelehnt

gefolgt von einem rsyncFehler:

rsync: Verbindung unerwartet geschlossen (0 Bytes bisher empfangen) [Empfänger] rsync-Fehler: unerklärlicher Fehler (Code 255) unter /SourceCache/rsync/rsync-45/rsync/io.c(453) [Empfänger = 2.6.9]


Mögliche Gründe:

  • In meinem Szenario hatte ich ein Firewall-Problem. Ein Loch gestanzt.
  • falsches Passwort (es ist unwahrscheinlich, dass Ihr Problem behoben wird, verursacht aber denselben Fehler)

3

Einer der Gründe für rsyncdas unerwartete Schließen der Verbindung ist das Timeout-Problem, insbesondere wenn die Berechnung der Dateiprüfsummen eine Weile dauert, um die Unterschiede auf dem Remote-Host zu überprüfen.

Um dieses Problem zu vermeiden, müssen Sie diese Einstellungen zu Ihrem ~/.ssh/configoder hinzufügen /etc/ssh/ssh_config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

und optional ähnlich auf dem Remote-Server (in /etc/ssh/sshd_config), z

ClientAliveInterval 30
ClientAliveCountMax 6

Siehe: Was sind die Optionen ServerAliveIntervalund ClientAliveIntervalbedeuten?


0

Bitte schauen Sie sich Ihre fail2ban-Liste an.

Verwenden Sie den Befehl: "fail2ban-client set YOURJAILNAMEHERE IPADDRESSHERE aufheben", um die Aufhebung aufzuheben und es erneut zu versuchen.

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.