ubuntuusers.de

Syncthing

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

syncthing-logo-horizontal.png Mit Syncthing 🇬🇧 können Verzeichnisse und Dateien über verschiedene Geräte im lokalen Netzwerk synchronisiert werden. Es läuft als Dienst im Hintergrund und wird über eine Web-Schnittstelle mit dem Browser bedient. Zusätzlich sind GUI-Programme zur Verwaltung des Dienstes verfügbar.

Syncthing ist für viele verschiedene Betriebssysteme und Plattformen verfügbar: https://syncthing.net/downloads/

Für die genannten Systeme ist mindestens die Basisvariante (Dienst mit Web-Schnittstelle) verfügbar, GUI-Programme und andere Zusatzwerkzeuge sind nicht überall vorhanden.

Zwischen verschiedenen Systemen und Architekturen kann uneingeschränkt synchronisiert werden, wenn auf beiden Seiten die gleiche Version von Syncthing installiert ist.

Installation

Syncthing kann direkt aus den Quellen installiert werden [1].

  • syncthing

Befehl zum Installieren der Pakete:

sudo apt-get install syncthing 

Oder mit apturl installieren, Link: apt://syncthing

Hier ist nur der Basisdienst enthalten, der zur Benutzung ausreichend ist.

Installation über Fremdquelle

Eine aktuellere Version (als in den Paketquellen) kann man über die offizielle Anleitung von syncthing.net 🇬🇧 installieren:

# PGP-Schlüssel des Repositorys einfügen
sudo curl -s -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg   
# Paketquelle hinzufügen
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list 
# Bevorzugung von Syncthing-Paketen ("Pinning")
printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing 
sudo apt update && sudo apt install syncthing 

Bedienung

Gestartet wird der Dienst z.B. mit dem Terminal-Befehl:

syncthing 

Soll Syncthing immer automatisch im Hintergrund laufen, so kann man den Befehl in Autostart anlegen.

Beispiele

Hier wird kurz gezeigt, wie man einen Raspberry Pi als Backup-Server einrichtet (mehr Informationen dazu findet man z.B. in der Zeitschrift ct' 14/21 im Artikel "Raspberry Pi als zentralen Backup-Server mit Syncthing einrichten"). Damit lassen sich z.B. Fotos im Speicher eines Mobiltelefons und ausgewählte Dateien eines Desktop-PCs auf einer externen Festplatte, welche am Raspberry Pi angeschlossen ist, synchronisieren.

Synchronisation des /home-Verzeichnisses eines Rechners auf einen Raspberry Pi

synthing_1.18_01.png Dazu wird auf dem PC und einem Raspberry Pi zunächst Syncthing (mit der Fremdquelle) installiert. Der Raspberry Pi und der Rechner müssen im selben LAN bzw. WLAN sein. Ob der Dienst tatsächlich auf dem Rechner läuft, kann man in einem Browser-Fenster (dieses Rechners) unter 127.0.0.1:8384 nachschauen:

Zur erstmaligen Einrichtung wird der Raspberry Pi an einen Monitor angeschlossen, um grafisch im Browser arbeiten zu können. Damit Syncthing bei jedem Neustart des Raspberry Pis automatisch gestartet wird, kann man mit dem Befehl:

crontab -e 

die Datei um die folgende Zeile erweitern:

@reboot      syncthing

Um den Synchronisierungsdienst nutzen zu können, müssen sich die beteiligten Geräte "kennen". Dazu öffnet man am Rechner im Browserfenster die Seite 127.0.0.1:8384 und wählt unter "Externe Geräte" die Schaltfläche "+ Gerät hinzufügen". Wenn der Raspberry Pi schon im gleichen Netz mit Syncthing läuft, so wird er (ggf. nach kurzer Zeit) dort angezeigt. Nun gibt man ihm noch einen gewünschten Namen (im Bild: "raspi"). Nach einiger Zeit bekommt man anschließend in Syncthing auf dem Raspberry Pi eine Meldung; der PC, von dem Daten synchronisiert werden sollen, kann nun genauso mit "Gerät hinzufügen" ausgewählt werden.

syncthing_1.18_02.png

Zur Einrichtung der Synchronisierung wird auf dem Rechner mit der Option "+ Ordner hinzufügen" die gewünschten Ordner ausgewählt, hier das gesamte /home/BENUTZER. Unter "Dateiversionierung" hat man verschiedene Möglichkeiten, hier wurde im Beispiel die "Einfache Dateiversionierung" mit "Versionen erhalten" → 3 gewählt, was einen brauchbaren Kompromiss zwischen Sicherheit und benötigtem Speicherplatz darstellt.

Da eine übliche SD-Karte eines Raspberry Pis nicht besonders ausfallsicher ist, werden die Daten besser auf einer externen Festplatte gespeichert, welche am "raspi" an einem USB-Anschluss hängt (bevorzugt eine SSD, die eine geringe Leistungsaufnahme im Leerlauf hat). Daher muss der Ordnerpfad auf dem "raspi" auch angepasst werden, z.B. auf /media/pi/home_BENUTZER. Falls man Syncthing für mehrere Benutzer oder Geräte nehmen möchte, empfiehlt es sich ggf. vorher die externe Festplatte mit GParted zu partitionieren. Weiterhin muss dann eine Partition mit geeigneten Rechten ausgestattet werden, z.B. mit

sudo chmod 777 /media/pi/externe_Festplatte 

Auf dem zu sichernden Rechner kann man im Syncthing-Menu neben der "Dateiversionierung" auch ein "Ignoriermuster" einstellen, um die eigenen Synchronisierungswünsche nach Bedarf anzupassen. Im Beispiel hier wurde gewählt:

.*            # lässt alle versteckten Dateien weg
!.thunderbird # Thunderbird-Ordner wird gesichert
Downloads     # Download-Ordner wird nicht gesichert

Später im Normalbetrieb kann man per ssh auf den "raspi" zugreifen und sich über htop bzw. top anzeigen lassen, ob der Dienst syncthing läuft und ggf. die gespeicherten Daten mit ls kontrollieren.

Hinweis:

Ein so eingerichtetes "Backup" des Rechners ersetzt kein richtiges Backup. Selbst wenn der Raspberry Pi in einem anderen Stockwerk steht: Eine Überspannung im Haus oder ein Brand kann alle Daten unwiderruflich zerstören.

Trotzdem kann eine solche Einrichtung ein schon bestehendes Backup-System sinnvoll ergänzen, gerade wenn die Datensicherung nur in größeren Zeitabständen ausgeführt wird.

syncthing_1.18_03.png

Synchronisation von Bildern & Videos eines Android-Telefons auf einen Raspberry Pi

Damit kann man z.B. alle Bilder und Videos, die mit einem Mobiltelefon gemacht werden, zu Hause im WLAN automatisch auf den Raspberry Pi synchronisieren lassen, ohne dass dazu später noch irgendwelche Befehle oder Aufrufe notwendig sind. Auf dem hier benutzten Android-Telefon heißt der Ordner Kamera. Mit weiteren Einstellungen lassen sich ggf. auch andere Dateien des Mobilgeräts sichern, falls man das für notwendig hält.

Die Einrichtung erfolgt analog der o.g. Darstellung. Ein bereits eingerichteter Raspberry Pi wird erkannt, man muss jedoch den "raspi" in der Telefon-App aktivieren.

Man sollte die Synchronisierung der Daten in der Android-App anpassen: unter "Einstellungen → Betriebsbedingungen → bei WLAN-Verbindung ausführen" aktivieren (mobile Daten können evtl. hohe Kosten verursachen, falls man keine Flatrate besitzt).

Diese Revision wurde am 13. August 2021 09:45 von Speedy-10 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Backup, Sicherheitskopie, Synchronisierung