Dateien, Ordner und ganze Festplatten übers Internet synchronisieren mit Syncthing
Syncthing
Die Synchronisation von Daten über Syncthing sorgt dafür, dass Sie beispielsweise zwei Datenträger oder auch nur zwei Ordner, die mitunter auf zwei verschiedenen Rechnern vorahnden sind, ständig gegenseitig synchronisieren. Beispielsweise wenn Sie Dateien sowohl zu Hause als auch am Arbeitsplatz benötigen, ist dies eine sinnvolle Maßnahme.
als nächstes wollen wir eine Synchronisation der Daten über Syncthing anstoßen.
Download
wget https://github.com/calmh/syncthing/archive/v0.11.3-debian.tar.gz
entpacken
tar xvzf syncthing*.tar.gz
Abhängigkeiten installiern
aptitude install golang-go golang-stable golang-src go2 git
syncthing aus dem quellcode kompilieren
cd syncthing*/ ./build.sh
falls ihr biem Ausführen den Fehler bekommt ggo version 1.x is less thean required, dann müsst ihr auch leider den go compiler in der aktuellen version manuell kompilieren. Ladet ihn euch dazu von golang.org/dl herunter.
wget https://storage.googleapis.com/goalng/go1.x.linux-<architektur>.tar.gz tar -xzvf go<version>.linux-<architektur>.tar.gz -C /usr/local
die go-binary befindet isch jetzt unter /usr/local/go/bin. Diesen Pfad fügen wir in unsre PATH-Variable ein
export PATH=$PATH:/usr/local/go/bin
das ganze hilft uns noch nichts, soalnge wir noch die alte go version unter /usr/bin/go haben
mv /usr/bin/go /usr/bin/go.1.2.old ln -s /usr/local/go/bin/go /usr/bin/go
ich bekam danach biema usführen der./build.sh immer noch einen fehler, dass bestimmte dateien aus einem internal-.OIrdner nicht gefunden wurden. Ich musste den internal-Ordner aus dem syncthing-build-verezichnis in den Ordner kopieren, in welchem nach den dateien gesucht wird.
Zusätzlich musste ich dann noch Dateien namens golint nachinstajllieren.
export GOROOT=/usr/local/go/bin export GOPATH=/usr/local/go/bin /usr/local/go/bin/go get -u github.com/golang/lint/golint
spätestens jetzt haben wir im /bin verzeihcnis des syncthing-verzeihcnisses eine binary-datei syncthing. Diese koipieren wir nach /usr/local/bin
cp synthing*/bin/syncthing /usr/local/bin/syncthing
Theoreitsch können wir syncthing jetzt schon aufrufen. Aber standardmäßig funktioniert das web interface von synchting nur auf dem selben Computer. Das funktioniert für uns nicht, weil wir auch von entfernten computern auf synchtingg zugreifen wollen. Deswegen müssen wir eine Zeile in der synchting-kjofnigurationsdatei verändern. Diese wurde jetdoch noch nicht erstellt. Um eien config-Datei erstellen zu lassen, müssen wir mal ganz kurz den service starten. wir führen deswegen sycnthing aus
syncthing
nach einer kurzen Dauer sehen wir dann eine node id
wenn wir das sehen, dann drücken wir Strg+C, um die kommandozeile abzubrehcen
Danach bekam ich immer noch einen Fehler über
Jetzt wurde eine Konfigurationsdatei erstellt, die wir bearbeiten können
vi ~/.config/syncthing/config.xml
wir suchen nach foglender Sektion
<gui enabled="true" tls="false"> <address>127.0.0.1:8384</address> </gui>
wir ändern die adresse 127.0.0.1 ab nach 0.0.0.0 und speichern die Datei.
nun erstellen wir ein startskript für den synchting-prozess. diese Skript sorgt dafür, dass syncthing jedesmla gestartet wird, sobald der rechner startet. Das Skript erstellen wir als /etc/init/syncthing.conf
Dort schrieben wir foglenden inhalt rein
description "Syncthing P2P sync service" start on (local-filesystems and net-device-up IFACE!=lo) stop on runlevel [!2345] env STNORESTART=yes env HOME=/home/<username> #(läuft syncthing als user root: muss hier das verzeichnis /root eingetragen werden) setuid "<username>" setgid "<username>" expect fork exec setsid screen -Dm -S syncthing /usr/local/bin/syncthing respawn
jetzt starten wir den service zum ersten mal mittels
initctl start syncthing
Installation auf dem Raspberry Pi
Installation
wget https:
//github
.com
/calmh/syncthing/releases/download/v0
.8.7
/syncthing-linux-armv5-v0
.8.7.
tar
.gz
auspacken
tar
xvzf syncthing-linux-armv5-v0.8.7.
tar
.gz
geht in das Verzeichnis, welches ihr gerade entpackt habt, und führt die Binary aus.
cd syncthing*/ ./syncthing
Administration
jetzt besuchen wir erstmal unser synchting webpanel über http://127.0.0.1:8384 opder http://lan-ip-adresse:8384. Der hostname anstelle der ip-adressewird nicht funktionieren. Wenn ihr die konfigurationsdatei nicht wie oben beschrieben bearbeitet habt oder nicht bearbeiten wollt, könnt ihr euch sogar nur auf dem Server selbst über den Browser aufscahlten. Das heißt, ihr müsst entweder einen kommandozeilenbrowser wie w3m nutzen oder über X-window, XRDP etc. eine grafische Oberfläche starten und dann einen Brwoser öffnen, um über http://127.0.0.1:8384 Syncthing konfigurieren zu können.
Im Menü angekommen setzen wir als erstes einige Sicherheitseinstellungen. Dazu gehen wir oben rechts auf das Zahnrad und wählen Einstellungen
nun setzen wir auf der rechten seite einen usernamen und ein passwort und aktivieren außerdem HTTPS-UIntersüptzzung.
Die Weboberfläche fordert uns nun dazu auf, den SErvice neu zu starten, was wir prompt machen. Danach startet sich die weboberfläche in unserem browser auch gleich neu und wir müssen auch schon gleich eine vertrauensmeldung über das sicherheitszertifikat akzeptieren.
Neben dem port 8384 fällt uns außerdem noch der Port 22000 ins Auge, der für die Synchornisierung zuständig sein wird. Mindetesns den Port 22000 müssen wir im Port Forwarding des DSL-Routers freigebe, damit die Synchronisation später funktioniert.
Jetzt richten Sie auf dem zweiten PC, den Sie mit dem ersten synchronsieiren wollen, syncthing ebenfalls ein. Wenn das geschehen ist, machen wir uns daran, die beiden PCs miteinander bekannt zu machen. Dazu föfnen sie auf dem ersten PC die syncthing-Weboberfläche mittels https://<IP>:8384.
als erstes richten wir einmal ein Test-share ein. Dazu gehen wir in der Weboberfläche auf Verzeichnis hinzufügen bzw. Add Folder.
Als Folder ID geben Sie eine Bezeichnung an, als Folder Path kommt der absolute Pfad zum Ordner rein, den Sie synchronisieren wollen.
Eventuell wollen Sie überlegen, einen Ordner als Master-Ordner zu setzen. Das heißt, dass nur änderungen auf diesem Rechner, die an den zu synchronisierenden Dateien gemacht werden, afu die anderen Geräte übertragen werden. Wenn Sie jedoch von einem nicht-master-Gerät Änderungen an den synchronisierten Dateien machen, werden diese änderungen nicht an das Master-Gerät übertragen. Speichern Sie den Eintrag. Klicken Sie auf den Restart-Button, um Syncthing neu zu starten.
Jetzt wollen wir diesen ersten Rechner mal mit dem zweiten Rechner bekannt machen. Dazu gehen Sie nun erstmal auf die Weboberfläche des zweiten Rechners und gehen dort rechts oben auf das Zahnrad und anschließend auf ID anzeigen bzw. Show ID. kopieren sie die Id und whlen Sie nun wieder auf dem ersten rechner den Button Gerät hinzufügen bzw. Add Device
In der Option Add Device solltet ihr dann das andere Ggerät als Introduzcer konfigurieren, wenn ihr automatisch die Tauschpartner des 2. Gerätes auf dem 1. Gerät übernehmen wollt (1). Desweiteren könnt ihr jetzt bereits unser testshare mit dem 2.-Gerät teilen.
Jetzt müsst ihr umgekehrt auf dem 1. Gerät die Id anzeigen und sie bie dem 2. Gerät wiederum einfügen.
Jetzt wollen wir mal einen Share einrichten, den wir auf beiden Geräten snychronisieren wollen. Dazu legen wir unter dem ersten Gerät mal das Verzeichnis /sync un d auf dem zweiten das Verzeichnis /syncsecond an und schieben in das /sync-verzeichnis des 1. Geräts eine Datei 1.txt. Beim ersten Gerät fügen wir also den Ordner sync hinzu und aktivieren den Hakjen, dass wir den Share mit dem anderen Gerät teilen wollen. Danach werdned wir aufgefordert, Syncthing neu zu starten. Wir starten das 1. Gerät neu. Nun beekommen wir im SYncthin-Fenster des 2. Geräts die Nachricht, dass unser 1. Gerät den Ordner /sync mit uns teilen möchte. Wir akzeptieren und geben den Pfad zu unserem /syncsecond-Ordner an. Der Inhalt von /sync des ersten Geräts wird nun in den Ordner /syncsecond des zweiten Gerätes snychronisiert und umgekehrt. Sobald wird also jetzt etwas in den Ordnern /sync odedr /syncsecond ändern, wird es auf das jeweils andere Gerät übertragen.
syncthing auf Windows-Desktop installieren
Eventuell wollen Sie auch Ordner auf Windows-Desktops miteinander synchronisieren. In diesem fall können Sie Syncthing auch auf Ihren Windows-Desktoprechnern synchronisieren. Laden Sie sich dazu den Syncthing Windows installer herunter und installieren das Programm. Nach der installation ist Syncthing auf diesem PC unter http://localhost:8080 erreichbar. Dort können Sie wieder die Id auslesen und das Gerät mit anderen Syncthing-Installationen bekannt machen.

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.
1 Antwort
[…] Festplatten und sonstiges über das Internet snychronisieren wollen, dann sollten Sie besser zu Syncthing (empfohlen) oder zu Unison […]