Hier ist eine Liste von Dingen, die dieses Problem möglicherweise lösen könnten. Jede dieser Dingen gleicht die Kompromisse aus, die Sie anders eingehen müssen, sodass Sie Ihre eigenen Entscheidungen treffen und die Dinge selbst ausprobieren müssen:
Unison - wie von anderen erwähnt, wird dies manuell ausgeführt, ist aber sehr schnell, zuverlässig und effektiv. Erfordert, dass beide Maschinen synchronisiert sind, um gleichzeitig eingeschaltet zu sein. Es hat eine schöne Benutzeroberfläche, mit der Sie mit den fast unvermeidlichen Konflikten umgehen und Löschvorgänge korrekt verfolgen und verbreiten können. Die grafische App / das grafische Paket heißt unison-gtk.
OwnCloud - Cloud-Speicher wird auf Ihrem eigenen Server ausgeführt. Sie brauchen eine Maschine, um sie laufen zu lassen. Erfordert eine angemessene Menge an Setup. 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 ist unter Ihrer Kontrolle. Bearbeiten: OwnCloud hat in letzter Zeit einige Änderungen an der Ausführung des Projekts vorgenommen und verfügt nun unter dem Deckmantel von NextCloud über eine neue Open-Source- Version (dh keine Closed-Source-Enterprise-Edition) (siehe dieses Youtube-Interview mit dem ursprünglichen OwnCloud-Entwickler) für mehr Details).
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 Fotosammlung.
Seafile - Stellt eine Serverkomponente bereit, die Sie auf einem lokalen Computer installieren können. Seafile verwendet ein git ähnliches Datenmodell zum Nachverfolgen von Änderungen. Bietet Synchronisierungsclients für Desktops, Tablets und Smartphones. Ein Blog-Beitrag, der das Setup beschreibt, ist unter http://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/ zu finden.
Osync - "... bidirektionales Dateisynchronisationstool, das in bash geschrieben und auf rsync basiert. Es funktioniert auf lokalen und / oder Remote-Verzeichnissen über SSH-Tunnel. Es soll hauptsächlich als Cron-Task gestartet werden" (Text von der Website)
PowerFolder - Java-basiertes GPL v2-Projekt. Die Hauptwebsite pusht kommerzielle Angebote, sodass nicht klar ist, wie die bereitgestellte JAR-Datei verwendet werden soll.
Rsync - schnell und effektiv und schon seit Jahrzehnten im Einsatz. Es wird jedoch kein Verlauf geführt, sodass Sie eine Richtung auswählen müssen, um zu entscheiden, ob eine Datei neu oder gelöscht ist. Es stehen grafische Werkzeuge wie gwRsync zur Verfügung .
Lsyncd - Überwacht Ordner / Dateien, um die Rsync-Replikation auszulösen
dvcs-autosync - in Python geschrieben, verwendet git zum Speichern und Freigeben von Änderungen zwischen Computern und XMPP zum Kommunizieren von Änderungen.
git-annex - Kommandozeilen-Tool zum Verschieben von Dateien basierend auf git. Hier finden Sie eine exemplarische Vorgehensweise: http://git-annex.branchable.com/walkthrough/
Tonido - Freeware. Bietet eine Desktop-App, mit der Dateien für andere Geräte freigegeben werden können. Stellen Sie auch kommerzielle Cloud-Angebote und den TonidoPlug-Plug-Computer bereit.
BitTorrent Sync (Freeware) - Peer-to-Peer-Dateisynchronisierung basierend auf BitTorrent. Ich weiß nicht viel darüber, da ich es nicht verwenden werde, da es kein Open Source ist und ich nicht darauf vertraue, dass meine Daten in meinem LAN bleiben. Bearbeiten Sie diese Antwort mit besseren Informationen / echten Erfahrungen.
SyncThing - Entwickelt als Open Source-Alternative zu BitTorrent Sync. Derzeit fehlen einige der erweiterten Funktionen von BitTorrent Sync, z. B. nicht vertrauenswürdige Peers. Es befindet sich in aktiver Entwicklung.
Kommerziell gehostete Dienste wie Dropbox, Ubuntu One, Google Drive und Apple iCloud sind alle schnell, günstig und bequem. Sie erfordern jedoch das Vertrauen in ein Unternehmen mit all Ihren Daten und benötigen eine relativ schnelle Internetverbindung.
Git / Subversion - Verwenden Sie ein Versionsverwaltungssystem direkt. Vollständig manuell und kann ein wenig komplexer, aber beliebter Ansatz sein, wenn einige Benutzer mit diesen Systemen vertraut sind, weil sie sie als Programmiertools verwenden.
CloudFS - Synchronisierung eines ganzen Dateisystems, basierend auf Cluster-Technologie
NFS-Mount - im Grunde lebt Ihr Zuhause auf einem Computer und Sie greifen über das Netzwerk darauf zu. Dies ist nicht gut für Laptops, die Sie mitnehmen. Weitere Informationen: http://www.linuxjournal.com/article/4880
Zentraler Server - Einige Lösungen erfordern, dass ein Computer die ganze Zeit eingeschaltet ist (oder zumindest, wenn Sie synchronisieren müssen), damit andere Computer mit ihm synchronisieren können. Dies kann einer Ihrer vorhandenen Computer oder ein separater Computer wie ein NAS sein. Achten Sie auf erhöhte Stromkosten.
Automatisch / Manuell / Geplant - Die beste Möglichkeit, Konflikte zu vermeiden, bei denen Änderungen an mehr als einer Maschine vorgenommen werden, besteht darin, auf jeder Maschine ein Programm zu installieren, das sofort auf Änderungen und Synchronisierungen achtet. Auf diese Weise verringern Sie die Wahrscheinlichkeit, dass mehrere Änderungen auftreten Versionen. Bei manuellen Prozessen müssen Sie immer daran denken, die Synchronisation durchzuführen.
Remotezugriff - Möchten Sie eine Synchronisierung außerhalb Ihres LANs (auch als Heimnetzwerk bezeichnet) durchführen, überlegen Sie, welche Auswirkungen dies auf die Sicherheit hat.
Sicherheit - Verlassen Ihre Daten Ihr Netzwerk verschlüsselt oder nicht? Wie sicher ist die Übertragung zwischen Computern? Was passiert, wenn jemand Ihre Daten unterwegs erfasst und später Fehler bei der Verschlüsselung festgestellt werden? 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 stecken, 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 - Die Lösungen, die ich ausprobiert habe, haben alle das Problem, dass beim Verschieben / Umbenennen einer Datei oder eines Ordners die Synchronisierung dies nicht versteht und erneut als neu hochlädt und dann die alte Kopie löscht. Bitte helfen Sie mit, indem Sie alle Lösungen markieren, die in der Lage sind, damit umzugehen. (Ich vermute, dass die git-basierten Lösungen dies nicht tun, da git aufgrund der verwendeten inhaltsbasierten Adressierung nicht darunter leidet, aber ich weiß es nicht genau habe sie nicht benutzt).
Festplattenkapazität
Backups - Synchronisation ist kein Backup. Wenn Sie versehentlich eine wichtige Datei löschen, werden in vielen Fällen alle anderen Kopien fröhlich gelöscht. Ich empfehle, Mat Honans Artikel über das Hacken zu lesen, um zu erfahren, was passieren kann, wenn Sie sozusagen alle Ihre digitalen Eier in einen digitalen Korb legen.
Ich empfehle , den gesamten Home - Ordner nicht synchronisiert, sondern bestimmte Ordner Kommissionierung zu synchronisieren wie Documents/
, Pictures/
usw. Dies wird den Schmerz mit der Geschwindigkeit / Leistung / Speicherplatzprobleme automatisch synchronisieren alles zu tun gezwungen entgehen. Es wird auch vermieden, Ausschlusslisten führen zu müssen.
Während ich weiterhin versuche, etwas zu finden, das für mich persönlich funktioniert, versuche ich, 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.