web-dev-qa-db-fra.com

Comment réparer une erreur de paquet corrompu pour avec RSYNC pour (relativement) de gros fichiers?

Essayer de mettre à jour des fichiers sur un serveur, avec la commande rsync:

rsync -ravq -e "ssh -o ConnectTimeout=2 -o ServerAliveInterval=2 -ServerAliveCountMax=2" --delete ./local_dir user@$SERVER:/dest_dir

corrupt packet erreurs continuez à être jetée, spécifiquement:

rsync: writefd_unbuffered failed to write 4092 bytes to socket [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (11337 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [sender=3.0.9]

Cela est probablement lié à un délai d'attente ssh, car il semble se produire avec de gros fichiers (R). En outre, je continue à obtenir des délais d'attente à l'aide de WINSCP. Cela ne se passe que pour moi; Plusieurs des personnes que je travaille avec cette utilisation utilisent ce serveur n'a pas le même problème.

Utilisation rsync à partir d'un terminal Cygwin sous Windows 7, contre un serveur Centos 6.3.

Je ne sais pas quelles autres informations pourraient être utiles ou comment l'obtenir. Je vais mettre à jour la question ou ajouter des commentaires conformément aux suggestions.

Comment dois-je résoudre ce problème?

Merci beaucoup!

10
Juan Carlos Coto

La corruption suggère un mauvais NIC ou NIC pilote de votre machine; avait-il une fois sur la boîte à vitres de ma femme: dû essayer à plusieurs reprises d'installer RSYNC. Une fois Cela a réussi, je pourrais envisager à plusieurs reprises RSYNC pour transférer et corriger l'autre logiciel nécessaire, ce qui a notamment été mis à jour NIC et un outil de contrôle.

1
Phil P

Si la valeur Ulimit est 0 ou un petit nombre, cela devrait donner cette erreur. Essayez d'augmenter la valeur de Ulimit (such as 9999999999) et essayez à nouveau. Vous pouvez écrire un petit script shell (a.sh) et utiliser quelque chose comme ça:

#!/bin/sh
ulimit 99999999999

rsync -avrz --perms --delete --chmod=u+rwx,g+rx,o+x /dir1/ /dir2/
0
C.O.A.