Rsync kan bestanden opnieuw kopiëren waarvan de zichtbare grootte en datum overeenkomen, terwijl de onbewerkte wijzigingstijden, vergelijkingsregels of overdrachtsopties toch verschillen.
Bestandsbrowsers verbergen vaak tijdstempels onder een seconde en tonen alleen een afgeronde lokale datum, terwijl Rsync de metagegevens vergelijkt die door elk eindpunt worden aangeboden. Rsync kan ook zo worden ingesteld dat overeenkomende tijden worden genegeerd, controlesommen worden vergeleken of metagegevens worden bijgewerkt. Een taak kan daarom dezelfde voor mensen leesbare grootte en datum rapporteren en het bestand toch selecteren, omdat nanoseconden verschillen, één bestandssysteem de tijd afrondt, een SMB-client de tijdstempel opnieuw instelt of de opdracht de normale snelle controle expliciet omzeilt.
Bevestig dat Rsync het bestand selecteert voor gegevensoverdracht
Voer de taak uit als simulatie met gedetailleerde wijzigingen en bewaar de exacte opdracht, het bronpad, het doelpad, de Rsync-versies en één representatieve bestandsnaam.
De officiële Rsync-handleiding legt uit dat de standaard snelle controle de bestandsgrootte en wijzigingstijd vergelijkt, terwijl gedetailleerde uitvoer aangeeft welke kenmerken een update hebben veroorzaakt.
Als de gedetailleerde code alleen wijzigingen in rechten, eigenaar, groep, ACL of uitgebreide kenmerken toont, kan het bestand opnieuw worden bezocht zonder de volledige inhoud opnieuw te verzenden.
Vergelijk onbewerkte wijzigingstijden in plaats van de weergegeven datum
Lees de wijzigingstijden van de bron en bestemming met nanosecondeprecisie uit en vergelijk hun numerieke epochwaarden op de systemen waarop de verzender en ontvanger draaien.
De Linux-stat-structuur ondersteunt tijdstempels met nanosecondeprecisie, waardoor twee bestanden die op dezelfde seconde worden weergegeven toch verschillende waarden kunnen hebben.
Een browser die alleen minuten of seconden toont, kan niet bewijzen dat de onderliggende wijzigingstijden overeenkomen. Leg de onbewerkte waarden vast voordat je de bestanden opnieuw aanraakt.
Controleer de tijdstempelprecisie en het wijzigingsvenster
Breng elk bestandssysteem in het pad in kaart, waaronder FAT, exFAT, NTFS, SMB, NFS, het uitpakken van archieven en verwijderbare stagingvolumes.
De Debian-handleiding voor Rsync documenteert het gedrag van modify-window, inclusief tolerantie voor bestandssystemen die geen identieke tijdstempelprecisie kunnen opslaan.
Gebruik alleen een venster dat groter is dan nul nadat je het verschil hebt gemeten. Een te ruim venster kan een daadwerkelijk gewijzigd bestand met dezelfde grootte verbergen.
Controleer opties die de normale snelle controle overschrijven
Controleer de volledige geplande opdracht en elk wrapper-script, de NAS-interface, omgevingsvariabele, include-bestand of voorinstelling die opties toevoegt.
De Ubuntu-naslaginformatie voor Rsync vermeldt dat ignore-times updates afdwingt, dat de controlesommodus de tijdtest vervangt en dat size-only de wijzigingstijd negeert.
Verwijder alleen de optie waarvan je hebt vastgesteld dat die het probleem veroorzaakt. De controlesommodus kan veel leesbewerkingen toevoegen, zelfs wanneer er weinig gegevens via het netwerk worden verzonden.
Controleer of SMB of Windows de tijd op de bestemming opnieuw instelt
Bereken een hash en leg de tijdstempel van de bestemming vast onmiddellijk na de overdracht, na het sluiten van de SMB-sessie en nadat je deze vanaf een andere client opnieuw hebt geopend.
Microsoft documenteert dat toepassingen bestandstijdstempels kunnen instellen en ophalen, terwijl bestandssystemen en toepassingen afzonderlijke velden volgens verschillende schema’s kunnen bijwerken.
Als de tijd op de bestemming alleen verandert nadat een indexeerprogramma, media-app, cloudclient of SMB-werkstroom het bestand heeft aangeraakt, corrigeer dan die veroorzaker in plaats van Rsync.
Scheid de wijzigingstijd van andere metagegevens
Vergelijk de wijzigingstijd, statuswijzigingstijd, rechten, eigendom, ACL’s, uitgebreide kenmerken, harde koppelingen en symbolische koppelingen.
Het stat-hulpprogramma van NetBSD toont onbewerkte statusvelden van bestanden en helpt zo om de wijzigingstijd van de inhoud te onderscheiden van wijzigingen in andere metagegevens.
Opties voor archieven, ACL’s, uitgebreide kenmerken, eigenaars of groepen kunnen metagegevensbewerkingen activeren. Lees de gedetailleerde code in plaats van elk vermeld pad te beschouwen als een volledige overdracht van de inhoud.
Voer een test met één bestand uit en los het kleinst bewezen verschil op
Kopieer één gesloten testbestand, behoud de gewenste metagegevens, voer exact dezelfde opdracht opnieuw uit en vergelijk de gedetailleerde uitvoer, de overgedragen bytes en de onbewerkte tijdstempels.
Het ZimaSpace-artikel over onverwacht grote incrementele back-ups behandelt bredere oorzaken binnen back-upketens; dit artikel isoleert de bestandsselectieregels van Rsync.
Het probleem is opgelost wanneer een herhaalde uitvoering zonder wijzigingen het testbestand overslaat of alleen de metagegevens bijwerkt die je bewust hebt geconfigureerd.
Veelgestelde vragen
Waarom zien de datums er identiek uit in de bestandsbrowser?
De browser rondt mogelijk af op seconden of minuten en toont lokale tijd, terwijl Rsync een nauwkeurigere wijzigingstijd ontvangt.
Voorkomt de controlesommodus onnodige kopieën?
Dat kan: de overdracht wordt vermeden wanneer de inhoud ondanks verschillende tijden overeenkomt, maar bestanden met dezelfde grootte moeten aan beide kanten worden gelezen en gehasht.
Kunnen tijdzones herhaalde Rsync-overdrachten veroorzaken?
Een tijdzoneweergave op zichzelf zou numerieke tijdstempels niet moeten wijzigen, maar toepassingen of bestandssystemen die ze omzetten of afronden kunnen dat wel doen.
Ondersteuning & Tips
Meer om te lezen

Kan Plex een GPU delen met een andere Docker-container?
Plex en een andere container kunnen vaak dezelfde GPU gebruiken, maar je moet de driverondersteuning, apparaattoewijzing, belasting van de video-engine, het geheugengebruik en het...

Hoe je kunt bepalen of een Plex-fout door de client of de server wordt veroorzaakt
Reproduceer hetzelfde item op een andere client, vergelijk het sessiepad en verzamel pas serverbewijs nadat de scope heeft uitgewezen waar de fout daadwerkelijk zit.

Plex-cache en tijdelijke opslag voor transcodering configureren
Bescherm de permanente Plex-status door tijdelijke transcodebestanden op geschikte lokale opslag te plaatsen en controleer vervolgens het opruimen, de beschikbare ruimte en het gedrag...

