L'erreur rsync
read errors mapping ....: Input/output error (5)
indique l'impossibilité de rsync de lire ou d'écrire un fichier. Les causes les plus probables de cette erreur sont des défauts de disque, soit dans le SRC, soit dans le répertoire TGT. D'autres possibilités incluent cependant des autorisations insuffisantes, le verrouillage de fichiers par des programmes antivirus et maybe
d'autres causes.
La première étape vers un diagnostic est d'essayer de copier les fichiers manuellement. Cela peut fonctionner si, par exemple, la source de l'erreur était un défaut de disque dans le répertoire TGT; en répétant l'opération ultérieurement, vous écrivez dans une section différente du disque et le problème peut s'être évaporé.
Alternativement, vous pouvez découvrir que vous ne pouvez pas accéder au fichier dans le répertoire SRC. Dans ce cas, je vous suggère d'utiliser l'un des utilitaires de vérification de disque disponibles pour votre distribution.
Des privilèges insuffisants, anti-virus, sont plus faciles à diagnostiquer.
Enfin, si vous avez un secteur défectueux dans votre répertoire SRC, vous pouvez l'exclure des futures exécutions de rsync au moyen de
rsync -av --exclude='/home/my_name/directory_with_corrupt_files/*'
J'ai eu un problème similaire, j'avais un appareil avec un fusible monté via USB, qui se déconnectait fréquemment, provoquant des erreurs d'E/S. Ma sauvegarde ne pourrait jamais se terminer car les erreurs d'E/S commenceraient à mi-chemin dans le rsync, et malgré l'exécution répétée de rsync, à un moment donné, la synchronisation ne progresserait pas au-delà de la mise à jour des fichiers existants.
Ma solution était d'utiliser
--ignore-existing
option. De cette façon, je pourrais exécuter la synchronisation en boucle jusqu'à voir un statut de sortie 0.
Bien sûr, dans ce cas, je ne me souciais pas des mises à jour des fichiers existants.