Skip to content

btsync - Raspberry Pi als Synchronisationsserver

TL;DR Ich habe in den letzten Jahren viele Möglichkeiten genutzt um bestimmte Daten auch auf dem Handy dabei zu haben und bin nun bei btsync gelandet.

Schon seit über 10 Jahren, noch bevor ich Smartphones hatte, nutze ich Dateien sowohl am Rechner als auch auf den Handy.btsync Status-Seitenleiste
Zu allererst war das die KeePass Datenbank, die Passwortverwaltung gibt es auch für das abgespeckte Java von “normalen” Handys. Anfangs bedeutete das, die Datenbank von Hand bei jeder Änderung auf das Handy zu kopieren.
Etwa mit dem Umstieg auf Smartphones kam dann auch Dropbox auf, das machte es zumindest etwas einfacher. Der PC speichert automatisch in der Dropbox, das Smartphone konnte daraus bei Bedarf eine aktuelle Version herunterladen — eine automatische Synchronisation beherrschte Dropbox zumindest anfangs nicht, ob es das mittlerweile geht weiß ich gar nicht eek.
Die nächste Stufe folgte schnell, Zusatzprogramme sorgten für die automatische Synchronisation eines bestimmten Verzeichnisses in dem ich alle Dateien speichere die ich auch auf dem Smartphone aktuell haben will.

Doch obwohl die KeePass Datenbank als Ganzes verschlüsselt ist und daher (bei sicherem Hauptkennwort) prinzipiell überall liegen könnte widerstrebt es mir seit einiger Zeit mich solchen grundsätzlich erstmal kostenlosen Diensten anzuvertrauen, noch weniger wenn die Daten in Übersee gespeichert sind. Schließlich habe ich nur die sichere KeePass Datenbank in dem Synchronisationsverzeichnis und außerdem auch aus Prinzip tongue.
Der erste Gedanke war daher, die Daten hier auf meinem Webspace zu speichern, das funktionierte aber nur halb gut, es ist halt nur ein Webspace (wenn sich mit vielen Möglichkeiten) und kein dedizierten (v)server auf dem man auch richtige Programme starten kann.

Raspberry Pi

Vor einem Jahr bekam ich zu Hause endlich einen VDSL Anschluss, ein Raspberry Pi war auch schon vorhandenen, und somit war für mich klar, dass ich nach Möglichkeit so viel wie möglich über den Pi zu Hause abwickeln will. Nicht nur keine fremden Dienste wie Dropbox, die Daten bleiben gleich ganz zu Hause smile. Mein 50 MBit Anschluss hat 10 MBit Upstream und bei Bedarf könnte ich den auch auf einen 100’er Anschluss aufrüsten mit 40 MBit Upstream. Für die Datenmengen die mit dem Smartphone und Tablet synchronisiert werden sollen reicht das leicht aus.
Der erste Schritt war ein Tool auf dem Smartphone (und Tablet), das mal über ssh, dann via WebDAV die Daten mit dem Pi synchronisiert. Der PC hat den Pi lokal im Netz, da gab es kein Problem. Irgendwie war ich aber nie glücklich mit der Lösung, die funktionierte aber hakelte immer mal wieder. Parallel zur Synchronisation hatte ich eingerichtet, dass beide Geräte Nachts größere Daten wie das Fotoverzeichnis, das TitaniumBackup usw. einfach nur als Backup auf dem Pi sichern. Spätestens hier gab es aber ständig Probleme, ein komplettes Backup klappte selten.
Und dann stiess ich auf btsync.

btsync GUI

btsync basiert auf dem BitTorrent Protokoll das eigentlich für verteilte Down- und Uploads gedacht war. Es besteht aus einem Programm für den Server — bei mir der Raspberry Pi — und einem Programm für die Clients, bei mir also primär das Smartphone und Tablet, aber auch kein Laptop würde sich abgleichen wenn ich ihn mal einschalte wink.
Beide Seiten gibt es für so ziemlich jedes denkliche System inklusive NAS Servern, da sollte alles abgedeckt sein. Das Protokoll ist zwar eigentlich für große verteilte Downloads gedacht, es wird aber nichts öffentlich gemacht bei btsync. Das Gerät das denn Quellordner verwaltet hat immer Kontrolle über die verbundenen Geräte und muss sie normalerweise auch einzeln absegnen. Verwalter ist bei den normalen Synchronisationsordnern der Server, bei den Backupordnern der Client von dem das Backup kommt. Geteilt wird vom Server aus mit einem Link, einem (laaaangen) Key oder per QR-Code, jeweils wahlweise nur lesend oder auch schreibend. Per Link kann man außerdem festlegen, dass jeder Nutzer bestätigt werden muss, wie viele Tage er gültig ist und wie oft er benutzt werden kann. Der Client teilt immer per Link ohne Optionen, die Verbindung mit einem anderen Gerät (Server ist anderer Client) muss aber grundsätzlich bestätigt werden.
Fortan tauschen die verbundenen Geräte die Daten aus, normale Ordner werden synchronisiert, Backupordner nur auf das andere Gerät gesichert. Bei Kollisionen wenn es plötzlich mehrere scheinbar aktuelle Versionen einer Datei gibt wird eine Kopie angelegt, das ist bei mir einmal letzten Mai vorgenommen.
Die Lösung funktioniert bei mir völlig problemlos, auf dem Pi (noch ein B der ersten Generation) erzeugt der Server in meinem Szenario kaum merkbar Last und auch auf den Android Geräten bemerke ich btsync nicht. Ich habe es dort so eingestellt, dass nur via WLAN synchronisiert wird und unter 33% Akku hat nicht mehr synchronisiert wird. Wenn es nichts zu synchronisieren gibt lasse ich ihn in den Energiesparmodus gehen und nur alle halbe Stunde nachsehen ob es etwas neues gibt bei einem der anderen Geräte.

btsync auf Sony Xperia Z1 Compact

So ist das für mich eine ideale Lösung, sie braucht kaum Ressourcen und alles wird zu mir nach Hause gesichert, ich habe alles auf einer USB Wechselplatte die am Raspberry Pi hängt. Keine fremden Dienste und alles gesichert laugh.
Synchronisiert wird dabei wie gesagt ein Ordner mit Daten die ich überall im Zugriff haben möchte und die Android Geräte machen jeweils von diversen Ordnern ein Backup auf dem Pi; vom TitaniumBackup über Threema und WhatsApp bis zu den Fotos.
Mehr will ich gar nicht smile Wenn ich mir mal wieder einen (v)Server hole oder anderweitig ein externes Ziel habe füge ich es einfach dazu und alles synchronisiert sich untereinander, ohne, dass für mich der Aufwand steigt.

Trackbacks

Der Standardleitweg am : Synchronisation mit Raspberry Pi und Syncthing

Vorschau anzeigen
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, ä

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Textile-Formatierung erlaubt
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Twitter, Identica, Pavatar, Gravatar, Wavatars, Monster ID Autoren-Bilder werden unterstützt.
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
Formular-Optionen