Actualmente tengo un par de scripts y aplicaciones de Android que hacen lo siguiente para un conjunto de dispositivos miembros (teléfonos inteligentes, PC, cámaras digitales):
- Todas las imágenes tomadas por todos los dispositivos miembros se sincronizan automáticamente con Dropbox.
- para teléfonos inteligentes, esto se hace usando el Dropsync aplicación
- para cámaras digitales, se ejecuta un script tan pronto como la cámara se conecta a través de USB
- Una vez a la semana, todas las imágenes de todos los miembros sincronizados de esta manera se mueven a un directorio diferente en Dropbox, para el almacenamiento a largo plazo.
- Después de la mudanza, se lleva a cabo una deduplicación: este directorio de archivos (llamémoslo
Dropbox/PicsArchive/
) es escaneado, y todos los duplicados son detectados y eliminados. Actualmente, utilizofdupes
Para detectar los duplicados, pero que yo sepa, esto solo detecta exacto Duplica, es decir, archivos que tienen sumas de comprobación idénticas.
El problema
Sin embargo, existe un vínculo no trivial entre todos los miembros.
Por ejemplo, al conectar un tipo específico de cámara digital al USB de la PC que ejecuta estos scripts, las imágenes en su tarjeta de memoria se mueven a Dropbox, y se generan copias reducidas y luego se envían a un subconjunto de los miembros del teléfono inteligente brillante aplicación de Autoremote). Estas copias redimensionadas pueden terminar muy fácilmente en una ubicación en el teléfono inteligente que Dropsync también está sincronizando. Por lo tanto, las imágenes de la cámara, así como estas copias redimensionadas, se sincronizan finalmente en Dropbox/PicsArchive/
.
Otro ejemplo es tomar una foto con la cámara del teléfono inteligente (alta resolución) y compartirla con un contacto de WhatsApp; a menudo, WhatsApp reduce la resolución de esa imagen. Pero quiero ambas ubicaciones sincronizadas (la cámara y El directorio de medios de WhatsApp correspondiente, lo que significa que Dropsync sincronizará dos imágenes (una con alta y otra con menor resolución) con Dropbox, y ambas terminarán finalmente en Dropbox/PicsArchive/
.
Obviamente, deseo mantener solo las imágenes de más alta resolución / calidad. Quizás lo que se necesita aquí sea una mejor estrategia de copia de seguridad, no una herramienta más genérica para limpiar el desorden que se pueda prevenir de alguna manera.
Aquí hay un par de imágenes crudas de la configuración actual. Aquí está el caso de uso original:
Luego implementé la vinculación, para estimular a los usuarios a hacer imágenes de mayor calidad con la cámara digital, y al mismo tiempo puedo enviar fácilmente esas fotos a los usuarios de WhatsApp:
Tenga en cuenta también que el camino Cámara del teléfono → WhatsApp crea un duplicado en el teléfono (tanto el directorio de la cámara del teléfono como el directorio de medios de WhatsApp están sincronizados, lo que por supuesto es necesario para permitir fotos) no destinado a que WhatsApp se sincronice también).
Entonces, ¿cómo puedo deduplicar todas estas fotos?