Quiero simplemente hacer una copia de seguridad y archivar los archivos en varias máquinas. Desafortunadamente, los archivos tienen algunos archivos grandes que son el mismo archivo pero se almacenan de manera diferente en diferentes máquinas. Por ejemplo, puede haber unos pocos cientos de fotos que se copiaron de una computadora a otra como una copia de seguridad ad-hoc. Ahora que quiero hacer un repositorio común de archivos, no quiero varias copias de la misma foto.
Si copio todos estos archivos en un solo directorio, ¿hay alguna herramienta que pueda ir y reconocer archivos duplicados y darme una lista o incluso eliminar uno de los duplicados?
Respuestas:
Cree un md5sum de cada archivo, los duplicados de md5sums sugieren (pero no garantiza) los archivos duplicados.
fuente
Usted podría usar Dupemerge para convertir los archivos idénticos en enlaces duros. Tomará un mucho tiempo aunque en un conjunto de archivos de gran tamaño. Los hashes SHA (o MD5) de los archivos seguramente funcionarán más rápido, pero tendrá que hacer más trabajo para encontrar los duplicados. La probabilidad de colisión accidental es tan baja que, en realidad, puede ignorarla. (De hecho, muchos productos de deduplicación ya lo hacen).
Su mejor apuesta para tratar con fotos y música es obtener herramientas adaptadas para encontrar duplicados de esos elementos en particular. Especialmente porque es posible que no tenga archivos que sean idénticos a nivel binario después de que entren en juego elementos como el etiquetado, el recorte o la codificación. Querrá herramientas que puedan encontrar fotos que "se vean" igual y música que "suene" igual, incluso si se han hecho pequeños ajustes a los archivos.
fuente
hardlink
es muy rápido (tomó 200 segundos para archivos de 1.2M, 320GB)Bueno, si tiene la capacidad, puede configurar un sistema de archivos de deduplicación y poner sus copias de seguridad en eso. Esto no solo deduplicará archivos completos, sino también partes de archivos similares. Por ejemplo, si tiene el mismo JPEG en varios lugares, pero con diferentes etiquetas EXIF en cada versión, un sistema de archivos de deduplicación solo almacenaría los datos de la imagen una vez.
Los sistemas de archivos de deduplicación incluyen lessfs, ZFS y SDFS.
fuente
rsync --link-dest
es tu amigo si quieres ahorrar en lectura / transferencia también. Una simple introducción está aquí: netfuture.ch/2013/08/…Cuando estaba haciendo este tipo de cosas, aprendí que es mucho más atractivo / eficiente en el tiempo que en realidad solo revisas los archivos en tu tiempo libre, en el transcurso de un par de semanas. Puedes ver la diferencia entre las cosas mucho mejor que tu computadora.
Si no estás de acuerdo, entonces te sugiero EasyDuplicateFinder . Sin embargo, como mencioné anteriormente, tomará mucho tiempo, digamos, aproximadamente un día para 5GB de archivos.
Y en otra nota, Crashplan hace lo que estabas haciendo antes, pero de una manera mucho más organizada, sin problemas de versiones.
fuente
Otra posibilidad, suponiendo que las máquinas de las que está haciendo copias de respaldo lo respalden, es usar algo como
rsync
.Si tu
rsync
de A a B, luego de C a B, luego de D a B, etc. exacto Se eliminarán los duplicados (es decir, por nombre de archivo) (y se sincronizarán entre las máquinas de las que está realizando una copia de seguridad).Sin embargo, si no quiere que todos estén sincronizados entre sí, esta no es la mejor manera de hacerlo.
fuente
Para archivos de imagen, use encontrarimagedupes . También está empaquetado en debian .
fuente
Los enlaces físicos solo realizan la deduplicación si todo el archivo es idéntico. Si los encabezados (EXIF, ID3,…) o los metadatos (propietario) difieren, no se vincularán.
Cuando tenga la posibilidad de usar un sistema de archivos con soporte de deduplicación de bloques (ZFS, btrfs, ...) use eso en su lugar. Soy muy aficionado a la desconectado (alias lote ) el soporte de dedup de btrfs, que admite la deduplicación de nivel de extensión y no consume constantemente enormes cantidades de memoria (como deduplicación en línea de ZFS).
La deduplicación también tiene la ventaja de que los archivos pueden ser modificados por el usuario sin que la otra copia se dé cuenta (lo que podría no ser aplicable en su caso, pero en otros).
Ver https://btrfs.wiki.kernel.org/index.php/Deduplication para una excelente discusión.
fuente