Il y a 2 parties à cette question. Tout d'abord, pourquoi y a-t-il une différence entre "Nombre de fichiers" et "Nombre de fichiers transférés". Ceci est expliqué dans la page de manuel de rsync :
Nombre de fichiers :est le nombre de tous les "fichiers" (au sens générique), ce qui inclut les répertoires, les liens symboliques, etc.
Nombre de fichiers transférés :est le nombre de fichiers normaux qui ont été mis à jour via l'algorithme de transfert delta de rsync, qui ne le fait pas inclure les répertoires créés, les liens symboliques, etc .
La différence ici doit être égale au nombre total de répertoires, de liens symboliques et d'autres fichiers spéciaux. Ceux-ci n'ont pas été "transférés" mais juste recréés.
Maintenant, pour la deuxième partie, pourquoi y a-t-il une différence de taille avec du. du indique la quantité d'espace disque utilisée par un fichier, pas la taille du fichier. Le même fichier peut occuper une quantité différente d'espace disque, si par exemple les tailles de blocs des systèmes de fichiers diffèrent.
Si vous êtes toujours préoccupé par l'intégrité des données, un moyen simple d'en être sûr consiste à créer des hachages pour tous vos fichiers et à comparer :
( cd /home/hholtmann && find . -type f -exec md5sum {} \; ) > /tmp/hholtmann.md5sum
( cd /media/wd750/c51/home/ && md5sum -c /tmp/hholtmann.md5sum )
À toutes les autres pauvres âmes perdues qui travaillent pendant les vacances au cœur de la nuit,
--checksum
fait en sorte que rsync vérifie s'il y a des changements dans les fichiers, sinon il vérifie les horodatages et la taille des fichiers et l'appelle un jour,
c'est suffisant dans 99,9 % des cas et vous permet de brûler en enfer pour le reste des 0,01 % jusqu'à ce que vous compreniez cela
Je pourrais aussi bien ajouter quelque chose que j'ai appris.
J'utilisais la commande rsync /path/source/* /path/to/destination/*
(notez le globbing). C'était gênant car 90% de mes fichiers avaient été transférés à quelques exceptions près (même étant dans le même dossier que certains qui ont été transférés). Après avoir supprimé le *
de la source et de la destination, ils ont tous été transférés. ¯\_(ツ)_/¯