Synchronisieren Sie zwei Verzeichnisse auf dem Linux-PC

890
Gab

Ich benötige ein verteiltes Dateisystem (oder ein Synchronisationswerkzeug), das ein Verzeichnis auf 4 PCs synchronisiert halten kann.

Meine Anforderungen sind:

  • Offline-Zugriff (Daten müssen auf jedem PC offline verfügbar sein)
  • Ausführungsrechte erhalten: Einige Dateien sind auf einer Linux-Partition als ausführbar gekennzeichnet. Dieses Flag sollte repliziert werden.
  • Effiziente Synchronisierungsstrategie: Einige meiner Dateien sind 20 GB groß, sie werden häufig geändert, jedoch in sehr wenigen Bereichen (Virtualbox-Images). Delta-Übertragungen sind willkommen.
  • effizienter Umgang mit Speicherplatz: keine Historie für Dateien, Dateien sollten nicht in temporäre Verzeichnisse kopiert werden, "nur für den Fall, dass Sie sie beschädigen".
  • Es muss Löschungen von Dateien verbreiten
  • Die Modifikation kann in jedem der 4 PCs vorkommen, sie sollten weitergeleitet werden, wenn ein anderer PC angeschlossen ist.
  • Lösung muss fehlertolerant sein: Meistens sind die 4 PCs getrennt oder können nicht synchronisiert werden.

Weitere Spezifikationen meiner Lösung sind:

  • Die Synchronisierung erfolgt über ein LAN, die Gesamtmenge der zu synchronisierenden Daten beträgt etwa 180 GB, in zehntausend Dateien. Änderungen sind klein, können aber bei großen Dateien vorkommen.
  • Im Moment interessiere ich mich für eine reine Linux-Lösung.
  • Einfache Zusammenführungsstrategie: Konflikte treten entweder nicht auf oder werden mit "Letzter Sieg" gelöst

Ich habe keine gute Lösung gefunden. Ich habe versucht:

  • unison: es ist das einzige, das im Moment arbeitet, aber ich musste viele benutzerdefinierte Konfigurationen vornehmen (cron-Skripte, die die Ausführung verketten). Es hängt meinen PC viele Minuten lang, um Änderungen zu erkennen, das Festplattenlicht leuchtet konstant.
  • Sparkleshare verarbeitet große Dateien nicht gut. Es führt eine Historie all Ihrer Änderungen, die unbegrenzt groß werden. Sie versprechen, dass es in den nächsten Releases behoben wird, aber im Moment passt es immer noch nicht zu meinen Bedürfnissen.
  • Owncloud behandelt große Dateien nicht gut, hat schlechte Kopierleistungen und speichert den Verlauf jeder von mir geänderten Datei (kann deaktiviert werden).
  • Coda? (Hilfe! Ich konnte es nicht richtig einrichten!)
  • git-annex assistant transformiert alle Ihre Dateien in symbolische Links und markiert die Originaldatei als schreibgeschützt ("nur für den Fall, dass Sie beim Ändern einen Fehler machen"!). Bevor Sie eine Datei bearbeiten, müssen Sie einen speziellen Befehl "git-annex unlock" ausgeben, der eine lokale Kopie der Datei erstellt, und Sie müssen daran denken, sie erneut zu sperren, wenn Sie sie synchronisieren möchten. Ich musste das Handbuch studieren, bevor ich meine 180 GB Dateien zurückbekommen konnte! Nie wieder auf meinem PC!

Was Sie als nächstes probieren sollten

5
Was ist mit Rsync? wakeup vor 10 Jahren 0

1 Antwort auf die Frage

1
BryanC

Sieht so aus, als würde ich einen alten Faden neigen, aber hoffentlich wird dies in Zukunft jemandem helfen.

BTsync ist wahrscheinlich eine perfekte Option für Sie. Es verwendet einen privaten Schwarm und einen Tracker, um Synchronisierungsfreigaben zu erstellen. Es ist sehr fehlertolerant und verarbeitet Datenblöcke gut, anstatt nur die Dateisynchronisierung durchzuführen.

BitTorrent Sync

+1 für btsync. Ich denke auch, dass es ideal dafür ist. Es ist auch ok eine alte Frage mit einer guten Antwort zu necro. Besonders ein sonst unbeantworteter. Sirex vor 10 Jahren 0