Je veux comparer deux grands fichiers binaires stockés sur des machines Linux différentes avec une bande passante limitée entre elles, puis sauvegarder uniquement les blocs qui diffèrent - en ligne de commande. Pour simplifier la tâche, nous pouvons supposer que les fichiers ne seront pas modifiés pendant le processus de comparaison et qu'ils ont la même taille.
C'est presque comme ce que je crois rsync
Je veux conserver les différences que je peux appliquer à l'image de base afin de pouvoir recréer une copie à différents moments (c'est-à-dire lorsque les différences sont prises).
Je suis également conscient de xdelta
mais il semble que cela ne permette de comparer que des fichiers situés sur la même machine.
Le "processus" que j'envisage grossièrement (en espérant que tout soit fait par un script/programme) pourrait être le suivant .
- (Sur chaque machine) produire une liste de hashs pour chaque bloc.
- Comparez les 2 jeux de hashs.
- Produire un fichier qui tire seulement les blocs modifiés dans la source de telle sorte que de manière à ce qu'ils puissent être "fusionnés" avec le fichier cible.
Quelqu'un connaît-il un programme, script ou une méthode élégante pour faire cela sans que je doive couper du code ?
0 votes
Défaut du serveur est destiné aux questions posées dans un cadre professionnel sur le lieu de travail seulement . Est-ce le cas pour vous ?
0 votes
Oui, définitivement. (Je pense que l'examen des solutions de type déduplication place cette question dans le domaine de l'administration des serveurs - et je suis un administrateur système de métier). La réponse à cette question pourrait être particulièrement utile aux administrateurs système qui gèrent une infrastructure VM - comme je le fais.