Rsync Erreur 23: Puis-je dire quels files n'ont pas été transférés?

J'ai couru sudo rsync -va --progress de la racine d'un ext. conduire vers un dossier sur un autre post conduire. La raison en est que le lecteur source a un NTFS d'erreur-ful et je n'ai pas access à un PC Windows pour réparer le NTFS.

10 heures plus tard, il a dit:

 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 sauvegardé toute la sortie du terminal. Au début, il y a quelques centaines d' Input/output error (5) pour les files dont je n'ai pas besoin de totaliser environ 2 Go. OSX Finder "l'utilisation du disque" me dit que la source est de 617 milliards d'octets, pas de 608 comme dans le rapport ci-dessus.

Des questions:

  1. La première partie de la sortie verbeuse (construction d'une list de files) définit-elle définitivement l' Input/output error (5) pour TOUS les files qui ne seront pas copiés?
  2. Le code 23 signifie-t-il que tous les files, à l'exception des Input/output error (5) , ont été copiés avec succès?

23 signifie seulement (à partir de la page de manuel):

23 Transfert partiel dû à une erreur

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 directorys, de sorte que vous ne verrez pas nécessairement un message d'erreur pour chaque file qui n'a pas pu être transféré.

Si votre source n'a pas changé, vous pouvez exécuter à nouveau le rsync avec -n pour voir ce qu'il transférerait cette fois sans effectuer le transfert.

A propos de la différence d'octets, rsync vous donne la taille des files (combien de données peuvent être lues à partir d'eux). Êtes-vous sûr que Finder ne vous indique pas l' utilisation du disque à la place?

Notez également que NTFS peut stocker des données dans des stream alternatifs ou des attributes des files, et rsync ne transfère généralement pas ces files (et cela peut aussi être très important).

Vous pouvez désactiver la sortie de non-erreur de rsync en utilisant le drapeau -q de rsync.

 -q, --quiet suppress non-error messages 

Si vous exécutez à nouveau rsync avec l' -q , rsync échouera probablement, mais au less cette fois, les messages d'erreur qui causent votre problème ne seront pas enterrés sous les lignes et les lignes de messages d'état de transfert de files.

Re: erreur 23– La raison la plus fréquente d'avoir cette erreur est de faire une petite faute de frappe dans la source rsync. Regardez sur votre command de source et assurez-vous que tout se vérifie contre ls, et searchz des choses subtiles stupides comme un espace supplémentaire ou un problème de 1-l.