Ich vermute, dass, wenn Sie nur Unison verwenden, die Antwort auf Ihre Frage nein ist . Im Allgemeinen ist es schwierig, Unison mitzuteilen, Dateien oder Verzeichnisse mit einer Eigenschaft zu synchronisieren oder nicht zu synchronisieren, deren Name nicht mit einer Art Musterübereinstimmung angegeben werden kann, wie z. B. Verzeichnisse, die in Ihrem Fall Bind-Mounts oder feste Links sind.
Es ist nicht ganz richtig zu sagen " Standardmäßig verwendet unison Rsync für die Übertragung ." Unison verwendet denselben Algorithmus / Protokoll wie rsync, verwendet jedoch seine eigene Implementierung. Die eigentliche rsync
ausführbare Datei wird nicht aufgerufen. Daher können Sie die Funktionen der rsync
ausführbaren Datei nicht ansprechen und können Ihr Problem auf diese Weise nicht lösen. Wenn rsync
ja, dann kann ich mir vorstellen, dass Unison es tun könnte, wenn jemand das Feature schreiben würde.
Da Unison, wie Sie darauf hingewiesen haben, keine harten Links versteht, denke ich, dass Sie dort einfach kein Glück haben. Möglicherweise können Sie jedoch ein externes Programm verwenden, um Bind-Mounts geschickt zu ignorieren. Sie können findmnt verwenden, um die Verzeichnisse aufzulisten, die Bindungsaktivierungen sind, und dann die Zeile für jedes Bindungsaktivierungselement ignore = Path /path/to/bind/mount
in Ihr Unison-Profil einzufügen .
Da es so aussieht, als würden Sie in Betracht ziehen, dies manuell mit einem Skript oder etwas anderem zu tun, sollten Sie sich der inotify-tools bewusst sein .