J'utilise rsync
pour sauvegarder mon annuaire de domicile. Cela fonctionne bien depuis longtemps. Voici la commande que j'utilise:
rsync \
-pavz \
--delete \
--exclude 'mnt/' \
--exclude '.cache/' \
--exclude 'Videos/' \
--exclude 'Music/' \
--exclude 'Documents/virtualbox' \
/home/"${USER}" "${server}":"${dir}" 2>> "${errorFile}"
Cependant, j'ai commuté le serveur sur lequel je sauvegarde et maintenant rsync
commence et fonctionne pendant quelques secondes (jusqu'à quelques minutes), mais s'arrête ensuite avec le message d'erreur
packet_write_wait: Connection to x.x.x.x: Broken pipe
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(820) [sender=3.1.1]
Comme il fonctionne sur d'autres serveurs, je soupçonne que le problème est la connexion ou le serveur lui-même. La connexion semble être stable. Je suis connecté via un câble et je ne vois aucune interruption. J'ai aussi essayé de pinger le serveur en faisant la sauvegarde. Le ping a un taux de réponse de 100%, même lorsque la sauvegarde se décompose.
J'utilise kerberos
pour vous authentifier sur le serveur distant.
J'ai essayé plusieurs combinaisons avec ServerAliveInterval
, ServerAliveCountMax
ou ClientAliveInterval
dans mon ~/.ssh/config
, mais en vain.
Il se pourrait qu'il y ait quelque chose d'exécution sur le serveur qui tue la commande rsync
pour une raison quelconque, mais je ne sais pas comment enquêter dans cela. Des idées?
J'avais le même problème sur Osx El Capitan et j'ai réparé cela par la mise à niveau vers RSYNC V3.11. Le problème se passait pour moi sur v2.6.9.
Kerberos n'est que pour l'authentification, qui ne devrait provoquer aucun problème après avoir créé une connexion réussie.
Avez-vous essayé d'utiliser aussi le démon RSYNC?
Sont vos serveurs sur le même réseau ou avez-vous un pare-feu/routeur?
Vous pouvez essayer de configurer une session NetCat entre les serveurs, c'est un moyen simple d'essayer si vous avez des problèmes de connexion entre vos serveurs.
Sur le premier serveur:
nc -lk <port-number>
Et sur le client
nc <server> <port-number>
Vous pouvez laisser la connexion ouverte et voir si la connexion le garde ou si vous perdez la connexion. Vous pouvez également essayer d'écrire quelque chose sur le client, voyez qu'il se termine de l'autre côté.
la seule fois où j'ai eu un problème comme celui-ci avec RSYNC, je l'ai suivi sur un port Ethernet de rechange sur une autre machine qui avait la même adresse IP que mon serveur cible. Si RSYNC est flaky, c'est presque sûrement une fiabilité de réseau ou un problème de configuration (dans mes cas).
J'ai rencontré un problème similaire lors de l'exécution rsync
_ ou manuellement (avec cp
, scp
ou dans gnome nautilus) copie de gros fichiers d'un bureau Linux à une faible puissance ARM _ Linux NAS sur un réseau câblé gigabit (no kerberos
dans ma configuration). Les lecteurs NAS sont partagés avec samba
et sont montés sur le client à l'aide de cifs
. La solution pour moi était de monter le système de fichiers NAS du client sans aucune mise en cache (voir aussi Mount.Cifs Pages de Man):
Sudo mount -t cifs //server.lan/somedir /mnt/somedir/ -o cache=none
Alternativement, lors du montage du lecteur NAS sur le client à l'aide de gvfs
in nautilus
Ce problème ne persisterait pas lors de la copie de fichiers volumineux (mais cela ne fonctionne pas en combinaison avec rsync
cependant).
Faites de l'écriture Linux dans le système de fichiers réseau simultanément avec les lectures de disque locales Élaborer plus loin pourquoi ce problème pourrait se produire.
Vous avez quelque chose sur le serveur distant qui écrit à stdout. Cela pourrait être dans votre .profile
ou .bash_profile
. Cela pourrait être quelque chose de moins évident comme stty
ou mesg
. En cas de doute, copiez une transcription sur votre question de votre connexion au serveur (rédiger le nom d'hôte par tous les moyens).
Il suffit de mettre à niveau vos versions RSYNC pour vous assurer qu'elles sont exactement la même sur les PC d'envoi et de réception. Voir ma réponse ici: https://serverfault.com/questions/883487/Unable-a-rync-due-a-broken-ppe/988794#988794 .