Syncthing
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
bei Nutzung der Fremdquelle. Version aus offizieller Paketquelle zu alt.
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Ubuntu 20.04 Focal Fossa
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:
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/ ⮷
Linux (x86, ARM, MIPS, etc.)
Windows
FreeBSD, OpenBSD, NetBSD, etc.
macOS
Solaris, Illumos
Android
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¶
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 (= Quelle) 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 (= Ziel) 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.
Zur Einrichtung der Synchronisierung werden 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. Evtl. ist nach dem ersten Scan notwendig, am PC unter "Externe Geräte > Bearbeiten > Teilen > Geteilte Ordner" zu kontrollieren, ob der zu teilende Ordner wirklich mit Häkchen ausgewählt ist.
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/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/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.
Sollte sich unbeabsichtigt (z.B. An- und Ausstecken) eine externe Festplatte nicht mehr mounten, so kann es notwendig sein, diese erneut in die Datei /ets/fstab einzutragen.
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.
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).
Weiterhin kann es evtl. hilfreich sein, wenn man auf dem Raspberry Pi für den zu sichernden Android-Ordner unter "Einstellungen → Erweitert → Zugriffsrechte" aktiviert (siehe dortige Hinweise).
Links¶
Dokumentation 🇬🇧 - Offizielle Dokumentation des Projekts (teilweise mit Erklärungsvideos)