Tengo una serie de copias de seguridad (realizadas manualmente) que contienen información duplicada, ¿hay algún programa/script/comando para recorrer la estructura del directorio, identificar archivos duplicados mediante hashes MD5 y luego eliminar uno de los archivos?
Cualquiera de las soluciones de Windows/Linux funcionará.
Respuesta1
Personalmente usoencontrarpara esto. Como se menciona en la página vinculada, hay muchas otras herramientas para esto y he probado la mayoría de ellas, pero rdfind tiene la optimización de escanear primero los primeros y últimos bytes de cada archivo, y solo calcular la suma MD5 si estos son idénticos, lo que en mis copias de seguridad hace que sea más rápido que cualquier otra cosa que haya probado.
Para el uso que solicita, querrá ejecutar
rdfind --deleteduplicates backup_a backup_b
Sin embargo, te recomendaría que lo ejecutes con la opción -makehardlinks. Esto reemplazará los archivos duplicados con enlaces físicos (suponiendo que esté almacenando los datos en un sistema de archivos sano) para que cada copia de seguridad se vea como ahora, pero con los datos duplicados almacenados solo una vez.