Pourquoi Rsync recopie-t-il les fichiers lorsque leur taille et la date affichée correspondent ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Rsync peut recopier des fichiers dont la taille et la date visibles correspondent, lorsque leurs heures de modification brutes, les règles de comparaison ou les options de transfert diffèrent encore.

Les navigateurs de fichiers masquent souvent les horodatages à la sous-seconde et n’affichent qu’une date locale arrondie, tandis que Rsync compare les métadonnées exposées par chaque point de terminaison. Il peut également être configuré pour ignorer les correspondances d’horodatage, comparer les sommes de contrôle ou mettre à jour les métadonnées. Une tâche peut donc signaler la même taille et la même date lisibles par un humain, tout en sélectionnant le fichier parce que les nanosecondes diffèrent, qu’un système de fichiers arrondit l’heure, qu’un client SMB réécrit l’horodatage ou que la commande contourne explicitement la vérification rapide normale.

Confirmer que Rsync sélectionne le fichier pour transférer ses données

Exécutez la tâche en mode simulation avec les modifications détaillées, puis enregistrez la commande exacte, le chemin source, le chemin de destination, les versions de Rsync et un nom de fichier représentatif.

Le manuel officiel de Rsync explique que la vérification rapide par défaut compare la taille du fichier et sa date de modification, tandis que la sortie détaillée indique quels attributs ont provoqué une mise à jour.

Si le code détaillé indique uniquement des modifications de permissions, de propriétaire, de groupe, d’ACL ou d’attributs étendus, le fichier peut être revisité sans retransmettre l’intégralité de son contenu.

Comparer les heures de modification brutes plutôt que la date affichée

Lisez les heures de modification de la source et de la destination avec une précision à la nanoseconde, puis comparez leurs valeurs numériques en temps Unix depuis les systèmes qui exécutent l’envoi et la réception.

La structure stat de Linux prend en charge les horodatages à la nanoseconde : deux fichiers affichés à la même seconde peuvent donc avoir des valeurs différentes.

Un navigateur qui n’affiche que les minutes ou les secondes ne peut pas prouver que les heures de modification sous-jacentes correspondent. Enregistrez les valeurs brutes avant de modifier à nouveau les fichiers.

Vérifier la précision des horodatages et la fenêtre de modification

Identifiez chaque système de fichiers présent dans le parcours, notamment FAT, exFAT, NTFS, SMB, NFS, l’extraction d’archives et les volumes amovibles de transit.

Le manuel Debian de Rsync documente le fonctionnement de modify-window, notamment la tolérance envers les systèmes de fichiers qui ne peuvent pas stocker une précision d’horodatage identique.

Utilisez une fenêtre non nulle uniquement après avoir mesuré l’écart. Une fenêtre trop large peut masquer la modification réelle d’un fichier de même taille.

Auditer les options qui remplacent la vérification rapide normale

Examinez la commande planifiée complète ainsi que tout script intermédiaire, interface NAS, variable d’environnement, fichier d’inclusion ou préréglage qui ajoute des options.

La référence Ubuntu de Rsync indique que ignore-times force les mises à jour, que le mode somme de contrôle remplace le test de l’heure et que size-only ignore la date de modification.

Supprimez uniquement l’option dont l’effet est avéré. Le mode somme de contrôle peut entraîner des lectures importantes même lorsque peu de données transitent sur le réseau.

Vérifier si SMB ou Windows réécrit l’heure de destination

Calculez la somme de contrôle et relevez l’horodatage de la destination immédiatement après le transfert, après la fermeture de la session SMB et après sa réouverture depuis un autre client.

Microsoft documente que les applications peuvent définir et récupérer les horodatages des fichiers, tandis que les systèmes de fichiers et les applications peuvent mettre à jour certains champs selon des calendriers différents.

Si l’heure de destination ne change qu’après l’intervention d’un indexeur, d’une application multimédia, d’un client cloud ou d’un flux SMB, corrigez ce processus plutôt que Rsync.

Distinguer la date de modification des autres métadonnées

Comparez la date de modification, la date de changement d’état, les permissions, le propriétaire, les ACL, les attributs étendus, les liens physiques et les liens symboliques.

L’utilitaire stat de NetBSD expose les champs bruts d’état des fichiers, ce qui aide à distinguer la date de modification du contenu des autres changements de métadonnées.

Les options liées aux archives, aux ACL, aux attributs étendus, au propriétaire ou au groupe peuvent déclencher un traitement des métadonnées. Lisez le code détaillé au lieu de considérer chaque chemin listé comme un transfert complet du contenu.

Effectuer un test sur un seul fichier et corriger la plus petite différence avérée

Copiez un fichier de test fermé, conservez les métadonnées souhaitées, réexécutez la commande identique, puis comparez la sortie détaillée, le nombre d’octets transférés et les horodatages bruts.

L’article de ZimaSpace consacré aux sauvegardes incrémentielles étonnamment volumineuses traite des causes plus larges liées à la chaîne de sauvegarde ; cet article se concentre sur les règles de sélection des fichiers de Rsync.

Le problème est résolu lorsqu’une nouvelle exécution sans modification ignore le fichier de test ou n’effectue que la mise à jour des métadonnées que vous avez volontairement configurée.

Questions fréquentes

Pourquoi les dates semblent-elles identiques dans le navigateur de fichiers ?

Le navigateur peut arrondir à la seconde ou à la minute et afficher l’heure locale, tandis que Rsync reçoit un horodatage de modification plus précis.

Le mode somme de contrôle empêchera-t-il les copies inutiles ?

Il peut éviter le transfert lorsque le contenu correspond malgré des heures différentes, mais il doit lire et hacher les fichiers de même taille des deux côtés.

Les fuseaux horaires peuvent-ils provoquer des transferts Rsync répétés ?

Un affichage dans un fuseau horaire différent ne devrait pas modifier les horodatages numériques, mais les applications ou les systèmes de fichiers qui les convertissent ou les arrondissent peuvent le faire.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.