Dubbele foto’s voorkomen na de migratie uit een cloudbibliotheek

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Voorkom dubbele foto's door eerst één canonieke export te importeren en pas daarna telefoonback-up in te schakelen, nadat exacte kopieën en bewerkte varianten zijn geclassificeerd.

Migraties van cloudbibliotheken bevatten vaak originelen, bewerkte kopieën, verkleinde downloads, versies uit gedeelde albums, Live Photo-componenten, metadata-sidecars en herhaalde exportmappen. Een zelfgehoste galerij kan exacte duplicaten op byteniveau weigeren, maar toch visueel identieke bestanden accepteren waarvan compressie, afmetingen, metadata of bestandsnamen verschillen. Bij een veilig proces vindt de migratie plaats buiten de actieve bibliotheek, worden hashes en bronmappen vastgelegd, wordt één gecontroleerde batch geïmporteerd en wordt gecontroleerd hoe de galerij varianten weergeeft voordat automatische telefoonback-up begint.

Breng elke bron die dezelfde foto kan bevatten in kaart

Maak een lijst van de cloudexportarchieven, fotorol van de telefoon, fotobibliotheek op de desktop, gedeelde albums, downloadmappen, bibliotheken van partners, oude NAS-mappen en externe bibliotheken die in de galerij zijn gekoppeld. Noteer voor elke bron het datumbereik en het aantal bestanden.

Duplicaten ontstaan vaak doordat eerst een cloudkopie wordt geïmporteerd en de telefoon daarna het lokale origineel uploadt. In een Immich-discussie wordt beschreven dat Google Foto's en mobiele back-up schijnbare duplicaten opleverden, omdat de cloudversie was gecomprimeerd, terwijl de telefoon een ander bestand met volledige resolutie aanleverde.

Kies welke bron leidend is voor originelen. Houd de andere bronnen offline tijdens de eerste import, zodat een tijdlijn vol duplicaten niet de omgeving wordt waarin je bepaalt wat je moet verwijderen.

Scheid exacte duplicaten van visuele varianten

Genereer cryptografische hashes voor bestanden vóór de import. Overeenkomende hashes geven aan dat de bytes identiek zijn, terwijl verschillende hashes kunnen wijzen op bewerkingen, hercompressie, gewijzigde metadata, verkleinde exports, bewegingsfoto-componenten of echt verschillende opnamen.

Gebruikers die naar Immich migreren hebben controles op hashes vóór de import gebouwd, omdat overdrachten vanuit externe bibliotheken mogelijk niet dezelfde duplicaatcontrole uitvoeren als uploads via de API. De gemelde strategie was hashes vergelijken vóór het kopiëren.

Verwijder bestanden niet automatisch alleen omdat ze er in een miniatuur vergelijkbaar uitzien. Bewaar het origineel met de hoogste resolutie, de gewenste bewerking, bewegingscomponenten en metadata-sidecars totdat ze buiten de galerij zijn vergeleken.

Normaliseer de structuur van exportmappen zonder originelen te herschrijven

Pak elk cloudarchief uit naar een stagingmap en identificeer herhaalde archiefdelen, achtervoegsels als “original” en “edited”, JSON-sidecars, duplicaten uit albums en bestanden die over meerdere exportpakketten zijn verdeeld.

Laat bestandsnamen en tijdstempels tijdens de eerste inventarisatie ongewijzigd. Door metadata vóór het hashen te hernoemen, opnieuw te coderen of te herschrijven, kunnen exacte duplicaten bestanden met verschillende bytes worden, waardoor de galerij ze niet langer automatisch kan herkennen.

Maak een manifest met het bronarchief, het oorspronkelijke relatieve pad, de bestandsnaam, hash, grootte, afmetingen, opnametijd en het pad naar de sidecar. Zo kan elke latere verwijdering worden teruggedraaid en is duidelijk waarom twee vergelijkbare assets in de bibliotheek terechtkwamen.

Importeer eerst een kleine representatieve batch

Selecteer een batch met een gewone JPEG-foto, HEIC-foto, bewerkte afbeelding, Live Photo, video, burst, kopie uit een gedeeld album en twee exacte duplicaten. Importeer deze via dezelfde methode die je voor de volledige bibliotheek wilt gebruiken.

Cloudassets en lokale assets kunnen twee keer in een mobiele tijdlijn verschijnen, ook wanneer de ene de serverkopie vertegenwoordigt en de andere alleen op de telefoon staat. Een Immich-melding documenteert foto's die zowel met cloud- als cloud-uitgeschakelde statussen werden weergegeven.

Controleer of de galerij identieke hashes weigert, bewegingscomponenten groepeert, bewerkingen behoudt, sidecars leest en onderscheid maakt tussen alleen-lokale en geüploade assets. Pas het importpad aan voordat je opschaalt naar de volledige export.

Schakel mobiele back-up pas in wanneer de historische import stabiel is

Pauzeer automatische back-up op elke telefoon die een deel van de gemigreerde cloudbibliotheek bevat. Anders kan de mobiele client duizenden assets uploaden terwijl de server dezelfde geschiedenis nog uit geëxporteerde bestanden verwerkt.

Duplicaten uit meerdere bronnen kunnen opnieuw ontstaan wanneer een gebruiker een kopie in een externe bibliotheek behoudt maar de upload verwijdert, omdat de mobiele client hetzelfde asset later opnieuw kan uploaden. In een Immich-discussie wordt een terugkerende duplicatenlus tussen mobiele back-up en een externe bibliotheek beschreven.

Vergelijk na afloop van de historische import het aantal wachtende items op de telefoon met het servermanifest. Schakel back-up eerst in voor een klein recent album en controleer of bekende historische assets worden overgeslagen of als al geback-upt worden weergegeven.

Beheer externe en geüploade bibliotheken bewust

Bepaal of gemigreerde bestanden als door de galerij beheerde uploads of als een externe alleen-lezenbibliotheek worden opgeslagen. Voorkom dat dezelfde fysieke bestanden via beide paden worden aangeboden.

Het verplaatsen van assets uit de beheerde bibliotheek naar een externe bibliotheek kan dubbele vermeldingen in de tijdlijn opleveren wanneer het oude databaserecord blijft bestaan en de nieuwe externe scan nog een asset toevoegt. Het gemelde resultaat was een verweesd record plus een nieuw duplicaat.

Gebruik per bestandsset één eigendomsmodel. Maak bij een overstap een back-up van de database, voltooi de ondersteunde verwijdering of opschoning van het oude pad en controleer of verouderde records verdwijnen voordat je de nieuwe locatie scant.

Beoordeel duplicaten met metadata en herstelcontext

Vergelijk bij door de galerij geïdentificeerde duplicaten de resolutie, bestandsgrootte, codec, opnametijd, bewerkingsgeschiedenis, Live Photo-koppeling, albumlidmaatschap, favorieten, gezichtsindelingen en back-upbron voordat je bepaalt welk asset je behoudt.

Detectie van bijna-duplicaten kan verschillende resoluties of coderingen van dezelfde scène herkennen, maar weet niet welke versie de gewenste bewerking of het origineel met de hoogste kwaliteit bevat. Beschouw automatische detectie als een beoordelingswachtrij, niet als een opdracht om te verwijderen.

De NAS-datamigratiegids van ZimaSpace geeft de bijbehorende regel: bewaar de cloudexport en de oorspronkelijke bibliotheek totdat bestandstellingen, metadata, albums en representatieve herstelacties zijn gecontroleerd.

Rond de migratie af met een reproduceerbare audit

Vergelijk bronmanifests, aantallen geïmporteerde bestanden, geweigerde exacte duplicaten, behouden varianten, mislukte bestanden en het aantal wachtende items op telefoons. Controleer steekproefsgewijs meerdere jaren, albums, bewerkingen, video's en Live Photos.

Bewaar de oorspronkelijke cloudexport onveranderlijk en maak een tweede back-up van de zelfgehoste bibliotheek voordat je een abonnement opzegt of assets uit de cloud verwijdert. Het opschonen van duplicaten is geen back-up en mag nooit de enige bewerking zijn die kopieën wijzigt.

De migratie is voltooid wanneer elk origineel één bewust gekozen canonieke kopie heeft, bewerkte varianten herkenbaar blijven, telefoons alleen nieuwe assets uploaden, externe en beheerde bibliotheken elkaar niet overlappen en het manifest elke uitgesloten of behouden duplicaat verklaart.

Ondersteuning & Tips

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.