Wie synchronisiere ich Dateien / Daten zwischen zwei PCs in einem Heimnetzwerk?

11

Ich habe einen Desktop und einen Laptop mit fast den gleichen Dateien in ihrem Home-Verzeichnis. Manchmal mache ich Veränderungen ~/Music, ~/Documentsetc. Aber diese Veränderungen natürlich nicht die andere Maschine beeinflussen.

Daher möchte ich eine Lösung haben, um alle Daten in den Home-Ordnern meines Laptops und Desktops zu synchronisieren. Ich kann sie ab und zu mit einem Kreuzkabel verbinden.

Ich möchte Ubuntu One oder Dropbox nicht verwenden (die Dateien sind groß und es ist nicht erforderlich, das Internet zu verwenden, wenn sich beide in einem Heimnetzwerk befinden).

Gaurav Butola
quelle
Dropbox bietet auch Netzwerksynchronisierung, sodass es möglicherweise nicht unbedingt das falsche Tool ist.
Turbo

Antworten:

8

Für einen kleinen Satz von Dateien würde ich Dropbox oder Ubuntu One vorschlagen , aber es scheint, als ob Sie Ihre Musiksammlung zwischen Computern synchronisieren möchten, und keine dieser Dateien ist aus zwei Gründen dafür besonders geeignet:

  • Beide werden mit dem Internet synchronisiert, was bedeutet, dass das Herunter- und Hochladen großer Dateisammlungen lange dauert
  • Sie bieten eine begrenzte Menge an Speicherplatz (mit der Möglichkeit, mehr zu kaufen), was bedeutet, dass Sie für eine große Sammlung von Dateien möglicherweise viel Geld ausgeben müssen

Unison , das ich für die lokale Replikation verwende, weist (inhärent) keine dieser Einschränkungen auf. Sie können über Ihr lokales Netzwerk synchronisieren, was bedeutet, dass es schnell ist (Sie können auch über das Internet synchronisieren, wenn Sie möchten) und so viel synchronisieren, wie Sie möchten - nur begrenzt durch Ihren verfügbaren Speicherplatz und Ihre Bandbreite. Unison verfügt sowohl über eine grafische Benutzeroberfläche als auch über eine Terminalschnittstelle, sodass Sie sie auf Ihrem Desktop und Server gleichermaßen verwenden können. Im Ubuntu-Wiki gibt es eine gute Anleitung, auf die Sie möglicherweise verweisen möchten, wenn Sie sich für die Verwendung von Unison entscheiden.

Iain Lane
quelle
1
Dies ist genau das, wonach ich suche, aber es gibt ein Problem darin imgur.com/Apqbq.png andere Leute hatten auch das gleiche Problem mit unisono. Kennen Sie eine Lösung?
Gaurav Butola
1
Hmm, das habe ich selbst nicht gesehen, aber ich habe den folgenden Debian-Fehler gefunden, den Sie vielleicht im Auge behalten möchten: bugs.debian.org/cgi-bin/bugreport.cgi?bug=252336 - klingt nach einem Problem mit das Programm wird unterbrochen. Versuchen Sie, die erwähnte Datei zu entfernen, und versuchen Sie es erneut. Wenn es hartnäckig ist, haben Sie möglicherweise mehr Glück mit der Befehlszeilenversion (die ich verwende). Entschuldigung, ich kann Ihnen nicht weiterhelfen.
Iain Lane
Danke für Ihre Hilfe. Dies ist genau das, was ich wollte. Es ist wirklich ein großartiges Tool, ich synchronisiere meine Daten über SSH mit unisono.
Gaurav Butola
7

Das beste Tool dafür ist das Kommandozeilen-Tool "Rsync". Wenn Sie eine grafische Benutzeroberfläche benötigen, versuchen Sie es mit Unison oder LuckyBackup, die auf dem Konzept von Rsync basieren. Unison und LuckyBackup befinden sich beide in den Repositories.

Ein Beispiel für rsync könnte sein:

rsync -vxtr / home / scaine / Bilder / / home / OtherUser / Pictures /

... was mein Bilderverzeichnis mit dem Bilderverzeichnis von OtherUser synchronisieren würde. Die von mir angegebenen Optionen überprüfen alle Kopien, behalten Zeitstempel / Berechtigungen während des Kopierens bei und durchlaufen die gefundenen Unterverzeichnisse. Führen Sie "man rsync" aus, um weitere Optionen zu erhalten.

Um Ihre PCs miteinander zu verbinden, stecken Sie sie entweder in einen Switch / Hub oder verwenden Sie das Crossover-Kabel und teilen Sie die Verzeichnisse über Samba.

EDIT: Einige gute Punkte zu machen, wenn das Ziel ist, die beiden PCs zu "spiegeln". Dieser Befehl "fügt" nur Dateien von der Quelle zum Ziel hinzu. Wenn Sie löschen müssen, benötigen Sie dort auch die Option -delete.

Bei der Untersuchung scheint es , dass Rsync ist nicht besonders gut umgehen Spiegelung. Sehen Sie sich dies an, um festzustellen, dass bei diesem Update wahrscheinlich ältere Dateien jüngere Dateien überschreiben ! Schlimmer noch, selbst wenn Sie die Option -update verwenden, um zu funktionieren und dieses Verhalten zu verhindern, wird die ältere Datei nicht mit der jüngeren Datei "aktualisiert", sondern nur "übersprungen". Kaum ideal.

Um eine bidirektionale Synchronisierung durchzuführen, müssen Sie denselben Befehl ausführen, jedoch die Quelle / das Ziel umkehren. Dies ist jetzt natürlich nur begrenzt von Nutzen, da Ihr erster Befehl (vorausgesetzt, Sie haben diese Option -delete verwendet) alle Dateien auf dem Ziel gelöscht hat, die in der Quelle nicht vorhanden waren. Unison handhabt die bidirektionale Synchronisierung aus dem Speicher recht gut.

Wenn Sie ernsthaft versuchen, mehrere Änderungen synchron zu halten, ist eine Dropbox-Lösung der beste Weg. Wenn Sie sich UbuntuOne oder Dropbox noch einmal ansehen können, ist Symlinking möglicherweise eine Lösung. Verknüpfen Sie beispielsweise nur Ihren Dokumentenordner, während Sie Bilder und Musik von One / Dropbox fernhalten und diese rsync / unison-Lösung für die großen Dinge verwenden.

Scaine
quelle
Ich würde das Ganze / Zuhause von beiden synchronisieren, wäre es richtig zu rennen? rsync -vxtr / home / user1 / home / user2 würde es eine bidirektionale Synchronisierung durchführen? Wird die zuletzt bearbeitete Kopie eines Dokuments beibehalten oder die Datei einfach ignoriert, falls vorhanden?
Gaurav Butola
Siehe meine Änderungen an der ursprünglichen Frage.
Scaine
1

Ein paar GUI-basierte Alternativen, wenn Sie das Terminal nicht nutzen möchten oder möchten

grsync als der Name impliziert eine grundlegende GUI zu rsync.

unison unison verwendet mehr alternative Backends als diese, grsyncaber ansonsten machen sie dasselbe

Sie können sie über das Software Center oder mithilfe von installieren apt-get

Allan
quelle
0

Einfache Antwort:

rsync -vzu [email protected]:/remote/dir/*  /local/dir

Die Option -u vergleicht Daten und überträgt nur, wenn das Zieldatum älter als das Quelldatum ist.

-v bedeutet ausführlich, -z bedeutet Komprimierung verwenden.

Yan König Yin
quelle