J'ai couru sudo rsync -va --progress
de la racine d'un lecteur externe vers un dossier sur un autre lecteur externe. La raison en est que le lecteur source a un NTFS contenant des erreurs et je n'ai pas accès à un PC Windows pour réparer le NTFS.
10 heures plus tard, il a déclaré:
sent 608725204596 bytes received 19365712 bytes 15902210.53 bytes/sec
total size is 608586212274 speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]
J'ai enregistré l'intégralité de la sortie du terminal. Au début, il y en a quelques centaines Input/output error (5)
pour des fichiers dont je n'ai en fait pas besoin pour un total d'environ 2 Go. "Utilisation du disque" du Finder OSX me dit que la source est de 617 milliards d'octets, pas 608 comme dans le rapport ci-dessus.
Des questions:
- La première partie de la sortie détaillée (création d'une liste de fichiers) indique-t-elle définitivement
Input/output error (5)
TOUT fichier qui ne sera pas copié? - Cela
code 23
signifie- t -il que tous les fichiers saufInput/output error (5)
ceux ont été copiés avec succès?
grep '^rsync: ' output
peut être utile.Réponses:
23
signifie uniquement (à partir de la page de manuel):Pour tout ce qui n'a pas pu être transféré, vous obtiendrez un message d'erreur. Notez que les messages d'erreur peuvent concerner l'ouverture ou la lecture de répertoires, vous ne verrez donc pas nécessairement un message d'erreur pour chaque fichier qui n'a pas pu être transféré.
Si votre source n'a pas changé, vous pouvez réexécuter le
rsync
avec-n
pour voir ce qu'il transfèrerait cette fois sans effectuer le transfert.À propos de la différence d'octets,
rsync
vous donne la taille des fichiers (combien de données peuvent être lues à partir d'eux). Êtes-vous sûr deFinder
ne pas vous indiquer l' utilisation du disque à la place?Notez également que NTFS peut stocker des données dans des flux ou des attributs alternatifs des fichiers, et
rsync
ne transfèrera généralement pas (n'est pas au courant) ceux-ci (et cela peut également représenter beaucoup).la source
Input/output error (5)
?Input/output error (5)
. Peux-tu expliquer?echo > file; du -k file
de voir combien sur le système de fichiers source, mais sur ntfs, c'est généralement 4k).rsync
vous indiquera que la taille est1
, mais le Finder pourrait vous indiquer 4096 pour ce fichier./foo/bar
et/foo/bar/baz
n'aura pas été transféré non plus.Vous pouvez désactiver la sortie sans erreur de rsync en utilisant l'
-q
indicateur de rsync .Si vous exécutez à nouveau rsync avec l'
-q
indicateur, rsync échouera probablement encore, mais au moins cette fois, les messages d'erreur à l'origine de votre problème ne seront pas enfouis sous les lignes et les lignes des messages d'état de transfert de fichiers.la source
Re: erreur 23-- La raison la plus courante d'avoir cette erreur est de faire une faute de frappe mineure entrant dans la source rsync. Examinez votre commande source et assurez-vous que tout se vérifie par rapport à ls, et recherchez des choses subtiles stupides comme un espace supplémentaire ou un problème de 1 l.
la source