Synchronisation mit Raspberry Pi und Syncthing
Anfang des Jahres hatte ich gebloggt, wie ich meinen Raspberry Pi als Synchronisationsserver mit bittorrent-Sync verwende.
Auf meinem Pi läuft Arch Linux und nicht das verbreitete Raspian, weil letzteres auf Debian basiert und die Software daher etwas, ähm, abgehangen ist.
Mein System ist also aktueller und das führt dazu, daß btsync sich mit Program received signal SIGSEGV, Segmentation fault. verabschiedet. Obwohl statisch gelinkt mag es irgendetwas nicht, da btsync auch nicht quelloffen ist, kann man wenig machen.
Eine Alternative habe ich aber schnell gefunden: Syncthing ist open source und arbeitet sehr ähnlich — die perfekte Lösung für mein Problem.
Die Struktur bleibt wie gehabt: auf dem Raspberry Pi läuft ein Synchronisationsdienst und ebenso auf allen Geräten. Bei mir also der PC, das Smartphone und das Tablet. Kleiner Unterschied zu btsync ist hier, daß alle Geräte im Prinzip die gleiche Software verwenden, alle sind gleichberechtigt. Der Android-Client hat zwar eine Android-Oberfläche, aber man kann auch hier (lokal) das gleiche Webinterface aufrufen wie auf dem Raspberry Pi.
Genau genommen ist der Pi also gar nicht notwendig, die Geräte könnten auch ohne ihn arbeiten. Ich belasse ihn aber als zentrales Element, damit alle Daten auch bei mir zu Hause sind. Die Gleichberechtigung hat aber interessante Konsequenzen, so kann man an jedem Gerät, das Daten freigibt entscheiden, welche der verbundenen Geräte damit synchronisiert werden. Und für jedes verbundene Gerät kann man festlegen, daß ihm bekannte Geräte auch gelernt werden. Ich musste meinem Telefon also nicht das Tablet bekannt machen, sondern habe am Telefon festgelegt, daß alle Geräte, die mein Raspberry Pi kennt auch am Smartphone erkannt werden. Bei nur 4 Geräten ist das noch nicht so wichtig, aber wenn dann noch die Geräte meiner Freundin oder so dazu kommen kann das schon praktisch werden.
Da alle Gleichberechtigt sind und alles können ist die Freigabe auch einen Tick anders, man gibt jedem Ordner eine eindeutige ID und gibt ihn dann den gewünschten Geräten frei. Bei diesen erscheint dann die Nachricht, daß Gerät XY einen Ordner teilen möchte. Man legt dann fest, wohin der Ordner lokal synchronisiert wird und vergibt einen lokalen Namen. Auch für Geräte, die man verbindet legt man immer auch lokal einen Namen fest. Es ist insgesamt pro Freigabe ein Klick mehr, den Prozess könnte man noch etwas glätten, aber insgesamt ist das nicht wirklich entscheidend, die Freigaben richtet man ja nur einmal ein.
Syncthing ist als Lösung insgesamt aber auch leistungsfähiger, in den erweiterten Optionen kann man z.B. festlegen, in welcher Reihenfolge die Dateien übertragen werden und man kann eine Versionierung in verschiedenen Stufen aktivieren (auf jedem Gerät individuell). Damit behält man bei Änderungen auch den alten Stand, was gerade bei mobilen Änderungen sehr praktisch ist.
Ich sichere mit Syncthing wieder die Kameraordner der Mobilgeräte in eine Richtung auf den Pi und zwischen PC, Telefon und Tablet einen Ordner mit Dingen, die ich überall haben will. Das sind u.a. meine KeePass Datenbank und meine Mindmaps, die ich auf allen Geräten bearbeite (und ich müsste MindMaps viel mehr nutzen).
Was mir bei den mobilen Geräten fehlt, ist eine Möglichkeit für jeden Ordner individuell festzulegen, ob er im WLAN oder/und Mobilfunk synchronieren darf. Die Kamerabilder würde ich nur im WLAN synchronisieren wollen und meine KeePass Datenbank immer. Das ist aber nur ein Detail, wenn man für den ersten Sync im WLAN ist, dann sind ein paar Bilder per Mobilfunk auch nicht so wild und ich habe fast überall WLAN, so dass auch eine Beschränkung aller Ordner auf WLAN nicht weh tut. Und es muss ja auch etwas zu verbessern geben
Ich habe Syncthing vor 2 Wochen eingerichtet und es tut auf allen beteiligten Geräte unauffällig seinen Dienst im Hintergrund. Die Synchronisation funktioniert und belastet weder den Pi noch die Mobilgeräte so daß ich es merken würde, bisher wurden laut Dashboard 13186 Objekte, ~30.2 GiB synchronisiert. In den nächsten Tagen werde ich das noch ausweiten und von den Mobilgeräten weitere Ordner sichern lassen.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
sascha224 am :
Ich hab mich vor einiger Zeit auch mal mit Syncthing beschäftigt und fand es eigentlich recht gut, wenn auch die Einrichtung der einzelnen Shares relativ umständlich ist. Allerdings sind/waren die Pakete für die Synology DiskStation äusserst instabil, und blieben ständig stehen, was für mich gar nicht geht, da ich die DS als zentralen Store laufen haben möchte. Im Gegensatz zu BTSync fehlt mir ausserdem ein Selective Sync Feature, das finde ich bei BTSync extrem gut gelöst. Aber vielleicht kommt das ja noch
rowi am :
Auf meinem Pi läuft Syncthing absolut stabil, und im Gegensatz zu btsync läuft es überhaupt .
Mit Raspian als System würde es sicher auch noch laufen, aber das System ist mir persönlich zu abgehangen.
Selective Sync ist wirklich praktisch, aber ich benötige ich es momentan nicht. Bis ich es brauche kann Syncthing das nachrüsten
Momentan synchronisiere ich meinen Desktop (Linux und Win10) und meine Mobilgeräte mit dem Pi und das läuft seit über zwei Wochen nun absolut zuverlässig.
rowi schrieb auch: Mit Wallabag Artikel für später speichern