erreur rsync erreur inexpliquée (code 255) sur io.c


8

J'utilisais un script pour effectuer rsync dans sudo crontab. Le script effectue une rsync bidirectionnelle (de serverA à serverB et inversement). Après avoir redémarré les deux machines serveur, le rsync ne fonctionne pas sudo crontab. J'ai également installé un nouveau cronjob et il échoue, l'erreur est:

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

Cependant, lorsqu'il est exécuté à partir du terminal, le script rync fonctionne comme prévu sans problème. veuillez aider.

Réponses:


3

Un peu difficile à répondre étant donné le manque presque total d' informations pertinentes , mais en règle générale, si une commande fonctionne à partir de l'invite mais pas à partir d'un travail cron, c'est parce que vous devez spécifier le chemin d'accès complet à la ou aux commandes. Les tâches Cron n'ont pas d'environnement utilisateur normal, ce qui signifie surtout qu'elles n'ont pas le même CHEMIN que les utilisateurs réguliers.


J'avais l'habitude d'avoir un problème similaire avec rsync 2.6.8, évidemment un bogue qui terminait les transmissions cryptées de manière aléatoire, mais je ne me souviens pas s'il avait ce code d'erreur. C'était sous CentOS 5.5 à l'époque. Plus tard, avec les nouvelles versions de CentOS, rsync est entré dans 3.x et le problème est définitivement résolu.
David Ramirez

3

Cela semble se produire lorsque la connexion est refusée:

ssh: connexion au port hôte 2222: connexion refusée

suivi d'une rsyncerreur:

rsync: connexion fermée de façon inattendue (0 octet reçu jusqu'à présent) [récepteur] erreur rsync: erreur inexpliquée (code 255) dans /SourceCache/rsync/rsync-45/rsync/io.c(453) [récepteur = 2.6.9]


Raisons possibles:

  • Dans mon scénario, j'ai eu un problème de pare-feu. Perforé un trou.
  • mot de passe incorrect (peu susceptible de résoudre votre problème, mais provoquera la même erreur)

3

L'une des raisons de la rsyncfermeture inattendue de la connexion est le problème de délai d'attente, en particulier lorsqu'il faut un certain temps pour calculer les sommes de contrôle des fichiers afin de vérifier les différences sur l'hôte distant.

Pour éviter ce problème, vous devez ajouter ces paramètres dans votre ~/.ssh/configou /etc/ssh/ssh_config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

et éventuellement similaire sur le serveur distant (en /etc/ssh/sshd_config), par exemple

ClientAliveInterval 30
ClientAliveCountMax 6

Voir: Que signifient les options ServerAliveIntervalet ClientAliveInterval?


0

Veuillez regarder votre liste fail2ban.

utilisez la commande: "fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE" pour le supprimer et réessayer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.