Eu tenho uma série de backups (feitos manualmente) que contêm informações duplicadas. Existe algum programa/script/comando para iterar pela estrutura de diretórios, identificar arquivos duplicados por meio de hashes MD5 e, em seguida, remover um dos arquivos?
Qualquer solução Windows/Linux funcionará.
Responder1
Pessoalmente eu usoencontrarpor esta. Conforme mencionado na página vinculada, existem muitas outras ferramentas para isso e eu tentei a maioria delas, mas o rdfind tem a otimização de verificar primeiro os primeiros e últimos bytes de cada arquivo e calcular apenas a soma MD5 se estes são idênticos, o que em meus backups torna isso mais rápido do que qualquer outra coisa que tentei.
Para o uso solicitado, você desejará executar
rdfind --deleteduplicates backup_a backup_b
No entanto, eu recomendo que você execute-o com a opção -makehardlinks. Isso substituirá os arquivos duplicados por links físicos (supondo que você esteja armazenando os dados em um sistema de arquivos sensato) para que cada backup tenha a mesma aparência que está agora, mas com dados duplicados armazenados apenas uma vez.