Rsync kann Dateien erneut kopieren, deren sichtbare Größe und Datum übereinstimmen, wenn ihre unveränderten Änderungszeitpunkte, Vergleichsregeln oder Übertragungsoptionen dennoch abweichen.
Dateibrowser verbergen häufig Zeitstempel im Subsekundenbereich und zeigen nur ein gerundetes lokales Datum an, während Rsync die von den jeweiligen Endpunkten bereitgestellten Metadaten vergleicht. Außerdem kann Rsync so angewiesen werden, Zeitübereinstimmungen zu ignorieren, Prüfsummen zu vergleichen oder Metadaten zu aktualisieren. Ein Auftrag kann daher dieselbe für Menschen lesbare Größe und dasselbe Datum melden und die Datei dennoch auswählen, weil sich die Nanosekunden unterscheiden, ein Dateisystem die Zeit rundet, ein SMB-Client den Zeitstempel neu schreibt oder der Befehl die normale Schnellprüfung ausdrücklich umgeht.
Bestätigen, dass Rsync die Datei für die Datenübertragung auswählt
Führen Sie den Auftrag als Probelauf mit detaillierter Änderungsanzeige aus und speichern Sie den exakten Befehl, den Quellpfad, den Zielpfad, die Rsync-Versionen und einen repräsentativen Dateinamen.
Das offizielle Rsync-Handbuch erklärt, dass die standardmäßige Schnellprüfung Dateigröße und Änderungszeitpunkt vergleicht, während die detaillierte Ausgabe angibt, welche Attribute eine Aktualisierung verursacht haben.
Wenn der detaillierte Code nur Änderungen an Berechtigungen, Eigentümer, Gruppe, ACL oder erweiterten Attributen anzeigt, wird die Datei möglicherweise erneut verarbeitet, ohne ihre vollständigen Inhalte zu übertragen.
Unveränderte Änderungszeitpunkte statt des angezeigten Datums vergleichen
Lesen Sie die Änderungszeitpunkte von Quelle und Ziel mit Nanosekundenpräzision aus und vergleichen Sie ihre numerischen Epoch-Werte auf den Systemen, die Sender und Empfänger ausführen.
Die Linux-stat-Struktur unterstützt Zeitstempel mit Nanosekundenauflösung, sodass zwei Dateien, die in derselben Sekunde angezeigt werden, dennoch unterschiedliche Werte haben können.
Ein Browser, der nur Minuten oder Sekunden anzeigt, kann nicht beweisen, dass die zugrunde liegenden Änderungszeitpunkte übereinstimmen. Notieren Sie die unveränderten Werte, bevor Sie die Dateien erneut bearbeiten.
Zeitstempelgenauigkeit und das Änderungsfenster prüfen
Ermitteln Sie jedes Dateisystem im Pfad, einschließlich FAT, exFAT, NTFS, SMB, NFS, der Archivextraktion und entfernbarer Zwischenvolumes.
Das Debian-Rsync-Handbuch dokumentiert das Verhalten von modify-window, einschließlich der Toleranz für Dateisysteme, die keine identische Zeitstempelgenauigkeit speichern können.
Verwenden Sie ein Zeitfenster ungleich null erst, nachdem Sie die Differenz gemessen haben. Ein zu großzügiges Fenster kann eine tatsächlich geänderte Datei mit gleicher Größe verbergen.
Flags prüfen, die die normale Schnellprüfung außer Kraft setzen
Prüfen Sie den vollständigen geplanten Befehl sowie jedes Wrapper-Skript, jede NAS-Oberfläche, Umgebungsvariable, Include-Datei oder Voreinstellung, die Optionen hinzufügt.
Die Ubuntu-Rsync-Referenz erklärt, dass ignore-times Aktualisierungen erzwingt, der Prüfsummenmodus den Zeitvergleich ersetzt und size-only den Änderungszeitpunkt ignoriert.
Entfernen Sie nur das nachweislich verantwortliche Flag. Der Prüfsummenmodus kann umfangreiche Lesevorgänge verursachen, selbst wenn nur wenige Daten über das Netzwerk übertragen werden.
Prüfen, ob SMB oder Windows den Zielzeitpunkt neu schreibt
Erstellen Sie unmittelbar nach der Übertragung, nach dem Schließen der SMB-Sitzung und nach dem erneuten Öffnen von einem anderen Client einen Hash und Zeitstempel des Ziels.
Microsoft dokumentiert, dass Anwendungen Dateizeitstempel setzen und auslesen können, während Dateisysteme und Anwendungen einzelne Felder nach unterschiedlichen Zeitplänen aktualisieren können.
Wenn sich der Zielzeitpunkt erst ändert, nachdem ein Indexer, eine Medien-App, ein Cloud-Client oder ein SMB-Workflow darauf zugegriffen hat, korrigieren Sie diesen Schreibvorgang statt Rsync.
Änderungszeitpunkt von anderen Metadaten trennen
Vergleichen Sie Änderungszeitpunkt, Zeitpunkt der Statusänderung, Berechtigungen, Eigentümer, ACLs, erweiterte Attribute, Hardlinks und symbolische Links.
Das stat-Dienstprogramm von NetBSD stellt unveränderte Dateistatusfelder bereit und hilft dabei, den Zeitpunkt einer Inhaltsänderung von anderen Metadatenänderungen zu unterscheiden.
Optionen für Archive, ACLs, erweiterte Attribute, Eigentümer oder Gruppen können Metadatenänderungen auslösen. Lesen Sie den detaillierten Code, anstatt jeden aufgeführten Pfad als vollständige Inhaltsübertragung zu betrachten.
Einen Ein-Datei-Test ausführen und die kleinste nachgewiesene Abweichung beheben
Kopieren Sie eine geschlossene Testdatei, behalten Sie die gewünschten Metadaten bei, führen Sie denselben Befehl erneut aus und vergleichen Sie die detaillierte Ausgabe, die übertragenen Bytes und die unveränderten Zeitstempel.
Der ZimaSpace-Artikel zu unerwartet großen inkrementellen Backups behandelt umfassendere Ursachen in Backup-Ketten; dieser Artikel grenzt die Dateiauswahlregeln von Rsync ein.
Das Problem ist behoben, wenn ein erneuter Lauf ohne Änderungen die Testdatei überspringt oder nur die von Ihnen absichtlich konfigurierte Metadatenaktualisierung ausführt.
Häufig gestellte Fragen
Warum sehen die Daten im Dateibrowser identisch aus?
Der Browser rundet möglicherweise auf Sekunden oder Minuten und zeigt die lokale Zeit an, während Rsync einen genaueren Änderungszeitstempel erhält.
Verhindert der Prüfsummenmodus unnötige Kopien?
Er kann eine Übertragung vermeiden, wenn die Inhalte trotz unterschiedlicher Zeitpunkte übereinstimmen, muss jedoch gleich große Dateien auf beiden Seiten lesen und hashen.
Können Zeitzonen wiederholte Rsync-Übertragungen verursachen?
Eine reine Zeitzonenanzeige sollte numerische Zeitstempel nicht verändern, aber Anwendungen oder Dateisysteme, die sie umrechnen oder runden, können dies tun.
Support & Tipps
Mehr zum Lesen

Leitfaden zur Speicherkapazität, Aufbewahrung und Bereinigung von Live-TV-Aufnahmen
Messen Sie echte Aufzeichnungen, halten Sie Headroom frei, kombinieren Sie Alters- und Kapazitätslimits und weisen Sie nach, dass das älteste geeignete Programm entfernt wird,...

Workflow zur Wiederherstellung von Metadaten für Heimmedien nach der Wiederherstellung einer Datenbank
Schützen Sie den wiederhergestellten Zustand, überprüfen Sie die Medienidentität und die Pfade und reparieren Sie anschließend fehlende Grafiken oder Übereinstimmungen in einer Pilotbibliothek, bevor...

Jellyfin-Client-Kompatibilitätscheckliste für Audio, Video und Untertitel
Testen Sie repräsentative Dateien mit jeweils nur einer veränderten Variable und protokollieren Sie für jeden Client Direct Play, Remux, Audiokonvertierung, Videotranskodierung oder einen Fehler.

