
Ich habe zu Hause drei Computer und möchte die /home/
Ordnerstruktur zwischen den dreien synchronisieren.
Alle Dateien/Ordner (außer den versteckten), die auf einem der drei Computer geändert/hinzugefügt/entfernt werden, werden auf den anderen beiden aktualisiert.
Istrsync
genug, um das zu tun? und wie?
Antwort1
Hier ist eine Liste mit Dingen, die dieses Problem möglicherweise lösen könnten. Jedes dieser Dinge gleicht die Kompromisse, die Sie eingehen müssen, anders aus, sodass Sie Ihre eigenen Entscheidungen treffen und Dinge selbst ausprobieren müssen:
Einklang- wie von anderen erwähnt, wird dies manuell ausgeführt, ist aber sehr schnell, zuverlässig und effektiv. Erfordert, dass beide Maschinen gleichzeitig synchronisiert sind. Es verfügt über eine nette Benutzeroberfläche, mit der Sie mit den fast unvermeidlichen Konflikten umgehen können, und verfolgt und verbreitet Löschungen korrekt. Die grafische App/das grafische Paket heißt unison-gtk.
OwnCloud- Cloud-Speicher wird auf Ihrem eigenen Server ausgeführt. Sie benötigen eine Maschine, auf der Sie ihn betreiben können. Erfordert einen angemessenen Einrichtungsaufwand. Führt einen vollständigen Apache 2-Webserver und eine SqlLite- oder MySQL-Datenbank auf dem Server aus. Funktioniert ähnlich wie Dropbox mit einem Desktop-Client, aber der Server steht unter Ihrer Kontrolle. Bearbeiten: OwnCloud hat kürzlich einige Änderungen in der Ausführung des Projekts durchgemacht und verfügt nun über eine neue, vollständig Open Source (d. h. keine Closed Source-„Enterprise“-Edition) unter dem Deckmantel vonNächsteCloud, (Sieh dir das anYoutube-InterviewWenden Sie sich für weitere Einzelheiten an den ursprünglichen OwnCloud-Entwickler).
SparkleShare- verwendet Git, um Dateien synchron zu halten. Laut Homepage: gut für viele kleinere Dateien, nicht gut für viele große Dateien wie Musik oder Fotosammlungen.
Seedatei- Bietet eine Serverkomponente, die Sie auf einem lokalen Computer installieren können. Seafile verwendet ein Datenmodellähnlich wie gitzur Nachverfolgung von Änderungen. Bietet Synchronisierungsclients für Desktops, Tablets und Smartphones. Ein Blogbeitrag, der die Einrichtung beschreibt, ist zu finden unterhttp://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/
Osync- „... bidirektionales Dateisynchronisierungstool, das in Bash geschrieben und auf Rsync basiert. Es funktioniert auf lokalen und/oder Remote-Verzeichnissen über SSH-Tunnel. Es ist hauptsächlich für den Start als Cron-Task vorgesehen“ (Text von der Website)
PowerFolder- Java-basiertes GPL v2-Projekt. Die Hauptwebsite bietet kommerzielle Angebote, daher ist nicht klar, wie die bereitgestellte JAR-Datei verwendet werden soll.
Rsync- schnell und effektiv und schon seit Jahrzehnten im Einsatz, allerdings wird kein Verlauf gespeichert, sodass Sie eine Richtung wählen müssen, um zu entscheiden, ob eine Datei neu ist oder gelöscht wurde. Es stehen grafische Tools zur Verfügung, wie z. B.gwRsync.
Lsyncd- überwacht Ordner/Dateien, um die rsync-Replikation auszulösen
DVCS-Autosync– in Python geschrieben, verwendet Git zum Speichern und Teilen von Änderungen zwischen Maschinen und XMPP zum Kommunizieren von Änderungen.
Git-Anhang- Kommandozeilentool zum Verschieben von Dateien, basierend auf Git. Hier gibt es eine anschauliche Anleitung:http://git-annex.branchable.com/walkthrough/
Tonido- Freeware. Bietet eine Desktop-App, mit der Dateien auf andere Geräte übertragen werden können. Bietet auch kommerzielle Cloud-Angebote und den TonidoPlug-Steckercomputer.
BitTorrent-Synchronisierung(Freeware) – Peer-to-Peer-Dateisynchronisierung basierend auf BitTorrent. Ich weiß nicht viel darüber, da ich es nicht verwenden werde, da es nicht Open Source ist und ich nicht darauf vertraue, dass es meine Daten in meinem LAN speichert. Sie können diese Antwort gerne mit besseren Informationen/echten Erfahrungen bearbeiten.
Synchronisieren- Entwickelt als Open-Source-Alternative zu BitTorrent Sync. Derzeit fehlen einige der erweiterten Funktionen von BitTorrent Sync, wie z. B. nicht vertrauenswürdige Peers. Es wird aktiv weiterentwickelt.
Kommerziell gehostete Dienste wie Dropbox, Ubuntu One, Google Drive und Apple iCloud sind alle schnell, günstig und praktisch, erfordern bei allen jedoch, dass Sie einem Unternehmen alle Ihre Daten anvertrauen, und benötigen eine einigermaßen schnelle Internetverbindung.
Git/Subversion- Verwenden Sie direkt ein Quellcodeverwaltungssystem. Vollständig manuell und kann etwas komplex sein, ist aber bei einigen Benutzern beliebt, die mit diesen Systemen vertraut sind, da sie sie als Programmiertools verwenden.
CloudFS- Synchronisation eines ganzen Dateisystems, basierend auf Cluster-Technologie
NFS-Mount - Ihr Zuhause befindet sich im Grunde auf einer Maschine und Sie greifen über das Netzwerk darauf zu. Nicht gut für Laptops, die Sie mitnehmen. Weitere Informationen:http://www.linuxjournal.com/article/4880
Faktoren, die Sie bei Ihrer Entscheidung berücksichtigen sollten:
Zentraler Server – einige Lösungen erfordern, dass ein Computer ständig eingeschaltet ist (oder zumindest, wenn Sie synchronisieren müssen), damit andere Computer synchronisiert werden können. Dies kann einer Ihrer vorhandenen Computer oder ein separater Computer wie ein NAS sein. Achten Sie auf höhere Stromrechnungen.
Automatisch / Manuell / Geplant - Die beste Möglichkeit, Konflikte zu vermeiden, wenn etwas auf mehreren Rechnern geändert wird, besteht darin, auf jedem Rechner ein Programm zu haben, das auf Änderungen achtet und sofort synchronisiert. Auf diese Weise verringern Sie die Möglichkeit, dass mehrere Versionen entstehen. Bei manuellen Prozessen müssen Sie immer daran denken, die Synchronisierung auszuführen.
Fernzugriff: Wenn Sie außerhalb Ihres LAN (also von zu Hause) synchronisieren möchten, denken Sie an die damit verbundenen Sicherheitsauswirkungen.
Sicherheit – verlassen Ihre Daten Ihr Netzwerk verschlüsselt oder nicht, wie sicher ist die Übertragung zwischen den Rechnern? Was passiert, wenn jemand Ihre Daten unterwegs abfängt und sich später herausstellt, dass die Verschlüsselung Mängel aufweist? Wer kontrolliert den Server, auf dem Ihre Daten gespeichert sind, sind die Daten verschlüsselt, können Sie Dritten vertrauen? Müssen Sie Löcher in Ihren Router bohren, um Fernzugriff zu erhalten? Wie lange bleiben „gelöschte“ Dateien und zugehörige Metadaten auf den synchronisierten Geräten und auf dem zentralen Server erhalten? Synchronisieren Sie zwischen verschlüsseltem und unverschlüsseltem Speicher?
Verschieben großer Ordner – bei allen Lösungen, die ich ausprobiert habe, besteht das Problem, dass die Synchronisierung das Verschieben/Umbenennen einer Datei oder eines Ordners nicht erkennt und alles noch einmal als neu hochlädt und dann die alte Kopie löscht.
Festplattenkapazität
Backups - Synchronisation ist kein Backup. Wenn Sie versehentlich eine wichtige Datei löschen, werden viele der oben genannten Aktionen alle Ihre anderen Kopien löschen. Ich empfehle Ihnen, Folgendes zu lesen:Mat Honans Beitrag zum Thema Hackerangriffefür eine gute Darstellung dessen, was passieren kann, wenn Sie sozusagen alle Ihre digitalen Eier in einen digitalen Korb legen.
Ich empfehle, nicht den gesamten Home-Ordner zu synchronisieren, sondern stattdessen bestimmte Ordner wie usw. auszuwählen Documents/
. Pictures/
Dadurch erspart man sich die Mühe, sich mit den Geschwindigkeits-/Leistungs-/Speicherplatzproblemen auseinandersetzen zu müssen, die bei der automatischen Synchronisierung aller Dateien auftreten. Außerdem muss man keine Ausschlusslisten pflegen.
Während ich weiterhin versuche, etwas zu finden, das für mich persönlich funktioniert, werde ich versuchen, diese Antwort mit nützlichen Informationen auf dem neuesten Stand zu halten. Ich habe die Informationen aus allen anderen Antworten zu einer vollständigen Antwort zusammengefasst.
Verweise:
- LinuxFormat – Februar 2014 LXF180 S. 31, „Hosted Storage Roundup“
hacken/alles/
Antwort2
Einklangkönnte ein guter Kandidat sein:
Unison ist ein Dateisynchronisierungstool für Unix und Windows.Dadurch können zwei Replikate einer Sammlung von Dateien und Verzeichnissen auf unterschiedlichen Hosts (oder unterschiedlichen Festplatten auf demselben Host) gespeichert, separat geändert und dann auf den neuesten Stand gebracht werden, indem die Änderungen in jedem Replikat an das andere weitergegeben werden.
Es führt bereits bidirektionale Synchronisierungen durch. Siehe Update unten.
Ich habe gelernt, dass es nur sehr wenige Dinge gibt, die rsync nicht kann, und dass es wahrscheinlich eine gleichwertige oder bessere Lösung bieten kann, aber für diese Lösung müssen Sie warten, bis ein rsync-Experte auftaucht.
Aktualisieren:Ja, Unison kann mehr als 2 Maschinen synchronisieren. Von ihrenBenutzerhandbuch:
Verwenden von Unison zum Synchronisieren von mehr als zwei Computern
Unison ist für die Synchronisierung von Replikatpaaren konzipiert. Es ist jedoch möglich, damit auch größere Gruppen von Maschinen synchron zu halten, indem mehrere paarweise Synchronisierungen durchgeführt werden.Wenn Sie dies tun müssen, ist die zuverlässigste Methode, die Maschinen in einer „Sterntopologie“ zu organisieren, wobei eine Maschine als „Hub“ und die anderen als „Speichen“ bezeichnet werden und jede Speichenmaschine nur mit dem Hub synchronisiert wird. Der große Vorteil der Sterntopologie besteht darin, dass sie die Möglichkeit verwirrender „unerwünschter Konflikte“ ausschließt, die dadurch entstehen, dass Unison für jedes synchronisierte Hostpaar ein separates Archiv verwaltet.
Antwort3
Wie wäre es, Ihre Dateien in ein Versionskontrollsystem wie SubVersion oder Git zu legen?
Ich versioniere nicht mein gesamtes Home-Verzeichnis, sondern nur eine Handvoll Unterverzeichnisse mit einigen wichtigen Sachen. Aber ich denke darüber nach, auf Git umzusteigen, da es für diese Art von Arbeit besser geeignet zu sein scheint. (eine schnelle Suche wird Sie in die richtige Richtung führen).
Viel Glück
Aktualisieren: Ein netter Nebeneffekt von Git ist, dass es einfach ist, computerspezifische Dateien zu haben, da Sie nur einen Zweig für diesen Computer benötigen (und in Git erhalten Sie diesen standardmäßig). Sie müssen also nicht auf allen Computern genau dieselben Dateien haben, sie müssen nur ähnlich sein und einen gemeinsamen „Haupt“-Zweig mit den Dingen haben, die Sie auf allen verschiedenen Computern haben möchten.
Antwort4
Ich denke, Sie können Ihr Ziel besser erreichen, indem Sie einen gemeinsamen Home-Ordner per NFS mounten. Lesen Sie diesen Artikelhttp://www.linuxjournal.com/article/4880