Rsync crée un message d'erreur erreur inexpliquée (code 255) sur io.c (837)

11

Quand j'essaye rsync -qaPH source/ 192.168.1.21:/var/backupsje reçois

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

Quel est le problème avec ma commande?

Alex
la source
Je suppose que l'erreur se produit sur cette ligne: git.samba.org/rsync.git/… . Si vous pouvez parcourir le code environnant, cela pourrait vous dire à peu près ce qui s'est passé.
mwfearnley

Réponses:

6

Pour enquêter, ajoutez une ou plusieurs -voptions à la commande rsync. Essayez également d'utiliser ssh simple:

ssh -v 192.168.1.21 /bin/true

pour savoir si c'est rsync ou la connexion ssh sous-jacente qui cause le problème.

Arjen
la source
4

255 n'est en fait pas un rsynccode retour "natif" . rsyncgratte le code d'erreur 255 de SSH et le renvoie. Il me semble que quelque chose sur le serveur de destination bloque SSH ou le casse une fois qu'il est connecté, donc "pipe cassée". Je ne suis pas d'accord avec @kenorb car s'il s'agissait d'un problème de délai d'attente, vous verriez probablement les rsynccodes de sortie 30 ou 35.

medley56
la source
1

Une erreur de canal cassée signifie probablement que vous avez atteint le délai d'expiration. Par exemple, la commande distante rsync a commencé à calculer les différences de fichier, mais elle n'a pas répondu au client à temps.

Si cela se produit très souvent, ajoutez ces paramètres à votre section locale ~/.ssh/config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

et sur le serveur distant (si vous avez accès), configurez-les dans votre /etc/ssh/sshd_config:

ClientAliveInterval 30
ClientAliveCountMax 6

Voir: Que signifient les options ServerAliveIntervalet ClientAliveInterval?

Kenorb
la source
0

J'ai eu une erreur similaire en utilisant rsyncvia mon déploiement pour une Emberapplication (ember-cli-deploy). J'ai dû configurer correctement mon ssh(ajouter des clés privées à mon ~/.ssh/)

morhook
la source
-1

Je sais que ce problème est ancien, mais peut-être que quelqu'un (comme moi) a toujours l'erreur.

a) Vérifiez si le service ssh est en cours d'exécution:

sudo service ssh status

b) Vérifiez la connexion avec la commande triple verbose:

ssh -vvv <hostname>

c) Vous utilisez peut-être la mauvaise clé ssh ou la clé est cassée d'une manière ou d'une autre.

Vigne

vigne
la source