Dateien, Ordner und ganze Festplatten übers Internet synchronisieren mit Syncthing

(Last Updated On: 16. Juni 2015)

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

2015-05-14_18h14_03

nun setzen wir auf der rechten seite einen usernamen und ein passwort und aktivieren außerdem HTTPS-UIntersüptzzung.

2015-05-14_18h20_12

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.

2015-06-15_16h02_59

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.

2015-06-15_16h07_43

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

2015-06-15_16h10_45

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.

DaFRK

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.

Das könnte Dich auch interessieren...

1 Antwort

  1. 22. Juni 2015

    […] Festplatten und sonstiges über das Internet snychronisieren wollen, dann sollten Sie besser zu Syncthing (empfohlen) oder zu Unison […]

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.