Je veux simplement sauvegarder et archiver les fichiers sur plusieurs machines. Malheureusement, les fichiers ont des fichiers volumineux qui sont le même fichier mais stockés différemment sur différentes machines. Par exemple, il peut y avoir quelques centaines de photos qui ont été copiées d'un ordinateur à l'autre en tant que sauvegarde ad hoc. Maintenant que je veux créer un référentiel commun de fichiers, je ne veux pas plusieurs copies de la même photo.
Si je copie tous ces fichiers dans un seul répertoire, y a-t-il un outil qui peut passer par et reconnaître les fichiers en double et me donner une liste ou même supprimer l'un des doublons?
backup
file-management
deduplication
Utilisateur1
la source
la source
Réponses:
Créez une somme md5 de chaque fichier, les doublons md5sums suggèrent (mais ne garantissent pas) les fichiers en double.
la source
Vous pouvez utiliser dupemerge pour transformer les fichiers identiques en liens physiques . Cela prendra cependant très longtemps sur un ensemble de fichiers volumineux. Les hachages SHA (ou MD5) des fichiers fonctionneront presque certainement plus rapidement, mais vous devrez faire plus de travail pour trouver les doublons. La probabilité de collision accidentelle est si faible qu'en réalité vous pouvez l'ignorer. (En fait, de nombreux produits de déduplication le font déjà.)
Votre meilleur pari pour traiter des photos et de la musique est d'obtenir des outils adaptés pour trouver des doublons de ces éléments en particulier. D'autant plus que vous ne pouvez pas avoir de fichiers identiques au niveau binaire après que des choses comme le balisage ou le recadrage ou les différences d'encodage entrent en jeu. Vous aurez besoin d'outils qui peuvent trouver des photos qui "se ressemblent" et de la musique qui "sonne" de la même manière, même si des ajustements mineurs ont été apportés aux fichiers.
la source
hardlink
est très rapide (a pris 200 secondes pour des fichiers de 1,2 M, 320 Go)Eh bien, si vous en avez la possibilité, vous pouvez configurer un système de fichiers de déduplication et y placer vos sauvegardes. Cela permettra non seulement de dédupliquer des fichiers entiers, mais également des morceaux de fichiers similaires. Par exemple, si vous avez le même JPEG à plusieurs endroits, mais avec des balises EXIF différentes sur chaque version, un système de fichiers de déduplication ne stockera les données d'image qu'une seule fois.
Les systèmes de fichiers dédupliqués incluent lessfs, ZFS et SDFS.
la source
rsync --link-dest
est votre ami si vous souhaitez également économiser sur la lecture / le transfert. Une introduction simple est ici: netfuture.ch/2013/08/…Quand je faisais ce genre de choses, j'ai appris qu'il est beaucoup plus intéressant / plus efficace de parcourir les fichiers vous-même pendant votre temps libre, au cours de quelques semaines. Vous pouvez mieux faire la différence entre les choses que votre ordinateur.
Si vous n'êtes pas d'accord, je suggère EasyDuplicateFinder . Comme je l'ai mentionné ci-dessus, cependant, cela prendra beaucoup de temps, disons, environ une journée pour 5 Go de fichiers.
Et sur une autre note, Crashplan fait ce que vous faisiez auparavant, mais d'une manière beaucoup plus organisée et sans problème de version.
la source
Une autre possibilité, en supposant que les machines que vous sauvegardez le prendront en charge, est d'utiliser quelque chose comme
rsync
.Si vous passez
rsync
de A à B, puis de C à B, puis de D à B, etc., les doublons exacts (par exemple, par nom de fichier) seront éliminés (et synchronisés entre les machines que vous sauvegardez).Cependant, si vous ne voulez pas qu'ils soient tous synchronisés, ce n'est pas la meilleure façon de procéder.
la source
Pour les fichiers image, utilisez findimagedupes . Il est également empaqueté dans debian .
la source
Les liens matériels n'effectuent la déduplication que si le fichier entier est identique. Si les en-têtes (EXIF, ID3,…) ou les métadonnées (propriétaire) diffèrent, ils ne seront pas liés.
Lorsque vous avez la possibilité d'utiliser un système de fichiers avec prise en charge de la déduplication de blocs (ZFS, btrfs,…), utilisez-le à la place. J'aime beaucoup la prise en charge de la déduplication hors ligne (aka batch ) de btrfs, qui prend en charge la déduplication au niveau de l'étendue et ne consomme pas constamment d'énormes quantités de mémoire (comme la déduplication en ligne ZFS).
La déduplication a également l'avantage que les fichiers peuvent être modifiés par l'utilisateur sans que l'autre copie ne s'en rende compte (ce qui pourrait ne pas être applicable dans votre cas, mais dans d'autres).
Voir https://btrfs.wiki.kernel.org/index.php/Deduplication pour une excellente discussion.
la source