1 votes

Comportement étrange de Rsync

Voici le scénario : Sur le serveur source, nous avons ajouté un nouveau tableau de disques car les anciens tableaux de disques manquaient d'espace. J'ai donc copié le contenu des anciennes baies de disques vers les nouvelles baies de disques en utilisant "cp". Ensuite, j'ai démonté les anciennes baies de disques et monté les nouvelles baies en conservant les noms des partitions.

Le lendemain, notre processus rsync s'est exécuté et pour une raison quelconque, il ne s'est pas contenté de copier les fichiers incrémentiels / différents, mais il semble parcourir l'ensemble des fichiers et... Je ne suis pas sûr de ce qu'il fait, il y a une énorme utilisation du CPU par le processus et pas beaucoup d'utilisation de l'IO. Donc, je suppose qu'il effectue un processus de somme de contrôle pour comparer les données entre la source et la destination mais ne copie pas les fichiers ?

Quoi qu'il en soit, quelqu'un a-t-il déjà vu ce comportement rsync ? Et qu'est-ce qui a déclenché ce comportement ? Est-ce parce que je "cp" les fichiers et donc les fichiers sont différents ? Existe-t-il un fichier où rsync conserve une liste des fichiers qu'il a déjà analysés afin de savoir qu'il ne copiera que les fichiers incrémentaux ?

6voto

Benjamin Points 275

Si vous n'avez pas utilisé le -p pour préserver "l'heure de modification, l'heure d'accès, les drapeaux de fichier, le mode de fichier, l'ID de l'utilisateur et l'ID du groupe" (selon l'option man ainsi que les ACL) lorsque vous avez exécuté cp alors il est très probable que les temps de modification/accès ont été modifiés.

Si votre rsync comprend soit l'option -a o -t puis il essaie de mettre à jour tous ces nouveaux temps d'accès. Je ne suis pas sûr de ce que rsync mais je pense que, même si l'algorithme de l'entreprise est en fait le même que celui de l'entreprise. rsync La commande n'essayait pas de mettre à jour les temps de modification/accès qu'elle devrait probablement commencer à comparer les blocs ou les sommes de contrôle pour les blocs pour tout ce qui a un nouveau temps de modification pour voir s'il a été réellement modifié ou non.

1voto

Andy Lester Points 34051

Vous pouvez utiliser -u o --update pour ignorer les fichiers plus récents sur le récepteur, ce qui l'empêchera de synchroniser tous les fichiers identiques. Vous pouvez également utiliser l'option --size-only mais cela pourrait manquer des changements si la taille des fichiers reste constante.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X