Betrachten wir zwei Verzeichnisse:Synchronisieren ohne einzelne Dateien zu scannen?
/home/user/music/flac /media/MUSIC/flac
ich das zweite Verzeichnis möchten (Ziel, ein USB-Laufwerk) enthalten die gleichen Dateien und Struktur wie das erste Verzeichnis (Master). Es gibt 3600 + Dateien (59G insgesamt). Jede Datei wird mit unison gescannt, was sehr langsam ist. Ich würde es lieber anhand von Dateiname, Größe und Modifikationszeit vergleichen.
denke ich rsync könnte besser sein, aber die Beispiele aus dem Manpages sind eher kryptisch, und Google-Suchanfrage ergaben keine einfachen, interessante Beispiele. Ich möchte lieber nicht versehentlich Dateien im Master löschen. ;-)
Die Master-Liste wird sich im Laufe der Zeit ändern: Verzeichnisse werden neu organisiert, neue Dateien hinzugefügt und vorhandene Dateien aktualisiert (z. B. Re-Tagging). Normalerweise sind die Änderungen geringfügig; Stunden dauern, um eine Synchronisation abzuschließen, erscheint mir als suboptimal.
Was ist der genaue Befehl, um das Zielverzeichnis mit dem Master zu synchronisieren?
Der Befehl sollte neue Dateien kopieren, verschobene Dateien reorganisieren (oder löschen, dann kopieren) und geänderte Dateien kopieren (basierend auf dem Datum). Für die Zieldateien sollte der Zeitstempel auf den Zeitstempel des Masters gesetzt sein.
'rsync' wurde entwickelt, um diese Art von Synchronisationen über ein Netzwerk zu beschleunigen, so dass Sie nicht alle 59G senden müssen. Es beschleunigt nicht auf einem lokalen Rechner, da sowohl Absender als auch Empfänger immer noch alles in ihren jeweiligen Bäumen lesen müssen. – caf