rsync von zwei Servern zu einem gemeinsamen Standort

rsync von zwei Servern zu einem gemeinsamen Standort

Ich habe zwei Server und möchte rsyncDateien von beiden Servern an einem einzigen Speicherort speichern.

  • Server 1 hat die Dateien A und B
  • Server 2 hat die Dateien A und B
  • Nachdem rsyncServer 3 die Dateien A und B hat

Wenn ein Benutzer Datei A von Server 1 und Datei B von Server 2 löscht, sollten sich auf Server 3 keine Dateien befinden.

Aber in meinem Setup funktioniert es nicht richtig:

  • rsync --delete server1 server3
  • rsync --delete server2 server3

Zuerst wird A und dann B gelöscht, aber A wird erneut von Server 2 kopiert. Anstatt ein leeres Verzeichnis zu erhalten, lande ich wieder bei A.

Kennt jemand eine Lösung dafür?

Antwort1

Der von Ihnen ausgeführte rsync-Befehl macht Server3 zu einer strikten Kopie des Servers, von dem er kopiert. Er wird also zu einem Klon von Server1 (wobei A fehlt und B vorhanden ist). Anschließend weisen Sie ihn an, ein Klon von Server2 zu sein (wobei A dort fehlt und B fehlt).

Können Sie eine Ebene zurückgehen und erklären, was Sie hier beabsichtigen?

Antwort2

Hast du es versucht

rsync -u --delete server1 server3
rsync --delete server2 server3

Von der rsync-Manpage:

  -u, --update                update only (don’t overwrite newer files)

Unabhängig davon, ob Server1 oder Server2 die Synchronisierung zuerst durchführt, wird berücksichtigt, ob sich die Datei bereits auf Server3 befindet.

Beachten Sie jedoch, dass Sie Ihre Rsync-Befehle in ein Skript einfügen und eine Flag-Datei einfügen sollten, um anzuzeigen, dass die Synchronisierung nicht ausgeführt wird, wenn das andere Skript ausgeführt wird.

Sagen Sie mir Bescheid, ob das hilft.

verwandte Informationen