Verwenden von rsync zum Synchronisieren von Ordnern ohne Überschreiben gleichnamiger Dateien unter Mac OS X

Verwenden von rsync zum Synchronisieren von Ordnern ohne Überschreiben gleichnamiger Dateien unter Mac OS X

Ich möchte die Inhalte zweier Verzeichnisse synchronisieren.

  • Ohne Überschreiben, sondern zum Erstellen einer Kopie, wenn zwei Dateien den gleichen Namen, aber unterschiedliche Größen haben
  • Ohne Duplizieren, wenn zwei Dateien den gleichen Namen und die gleiche Größe haben.
  • Rekursiv arbeiten

Bisher habe ich den folgenden Befehl gefunden, der funktionieren könnte

 $ rsync -varE --progress ~/folder /volumes/server/folder

Aber ich bin mir nicht ganz sicher, was die -EFlagge macht. Sie wurde von einem Benutzer auf bananica.com vorgeschlagen, aber ich konnte im Handbuch keine Beschreibung dafür finden. Würde sie erfolgreich das tun, was ich brauche?

Antwort1

-E behält unter OS X tatsächlich erweiterte Attribute bei, aber -a (--archive) impliziert -p (--perms), was wiederum --executability impliziert.

-b (--backup) fügt am Ende von Dateien, die normalerweise überschrieben würden, eine Tilde hinzu:

rsync -ab ~/folder /Volumes/server/

-b --suffix _oldwürde file.txt in file.txt_old umbenennen

rsync vergleicht standardmäßig sowohl die Dateigröße als auch die Änderungszeiten. --size-only vergleicht nur die Größe. -c vergleicht Prüfsummen, ist aber langsamer.

verwandte Informationen