Highlight: Mehrere Phoniebox’n schnell und einfach synchronisieren
5 (1)

Dieser Beitrag richtet sich eher an Phoniebox (hier geht es zur Bauanleitung) Haushalte, die min. zwei Phonieboxen oder ein Linux-basiertes NAS oder ähnliches betreiben. Hintergrund ist, dass ich die Karten für beide Boxen auch untereinander einsetzen möchte. Oder mal eben etwas zentral an der NAS editiere. Hier erkläre ich Dir, wie Du Kartenkonfigurationen bzw. Playlists und Musikdateien synchronisieren kannst. Das Ganze hab ich mittels rsync gelöst. ein altbekanntes Tool in der Linux-Welt. Natürlich ist es auch möglich direkt zwei Phoniebox’n zu synchronisieren, dann sollte eine Box die Aufgabe des Syncs übernehmen und die andere könnt Ihr wie nachfolgend als NAS betrachten, oder Ihr führt die Schritte einfach auf beiden Boxen aus…

Die folgende Anleitung ist sehr technisch und für Laien sicher nicht unbedingt verständlich. Aber es ist auch nicht so schwer. Wenn Du eine Phoniebox installiert hast, dann schaffst Du auch zwei Phonieboxen zu syncen! Wenn etwas unklar ist, nutze die Kommentarfunktion, ich ergänze den Artikel sehr gerne.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Update 10.02.2024

Es hat sich einiges getan und die Phoniebox hat mittlerweile ist die Möglichkeit zur Synchronisation direkt mit an Board. Hier ist der Link zur Anleitung: https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/Sychnronising-Phonieboxes-in-a-local-network

Installation in zwei Schritten

Schritt 1: ssh Login ohne Zugangsdaten erlauben

Damit wir kein Klartextpasswort benötigen und das Script berechtigt ist auf ein anderes System (NAS oder andere Phoniebox) zuzugreifen, arbeiten ich mit Schlüsselpaaren. Wer mehr darüber erfahren will wird bei Wikipedia fündig: Wiki-Beitrag zum Thema RSA Public Key Verfahren

Zunächst melde Dich per ssh an der Phoniebox an. Im Regelfall mit dem User pi. Dann gib folgende Befehle ein, damit ein Schlüsselpaar erstellt wird:

ssh-keygen -t rsa

Es folgen ein paar Abfragen, vom Prinzip könnt Ihr alles mit Enter durch bestätigen.

Nun kopiere Dir die Datei ~/.ssh/id_rsa.pub auf Dein NAS-System. Zum Beispiel könnt Ihr das File erstmal in den Samba-Share der Phoniebox kopieren:

cp ~/.ssh/id_rsa.pub ~/RPi-Jukebox-RFID/shared

Nun geh auf Dein NAS. Kopiere die Datei irgendwo hin und verbinde Dich ebenso per SSH auf das System. Wechsle in das Verzeichnis wohin Du die Datei gelegt hast und gib folgenden Befehl ein:

cat id_rsa.pub >>~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Bitte beachte, dass dies dann für den angemeldeten Benutzer gilt, als Beispiel admin oder root. Versuchr nun mit folgendem Befehl auf Dein NAS zu kommen OHNE Passwort:

ssh <User>@<FQDN/IP>

Schritt 2: Automatisches synchronisieren einrichten

Mittels rsync ist eine Synchronisation nun ein Kinderspiel:

rsync -az Username@FQDN/IP des Servers:/Pfad/auf/dem/Server/ /lokaler/Pfad/

Der Parameter a stellt eine ganze Latte von Parametern da. Damit werden u.a. Unterverzeichnisse, Berechtigungen, Links usw. mit übernommen. Der Parameter z aktiviert die Komprimierung bei der Übertragung der Daten. Zu beachten ist, dass rsync immer nur in eine Richtung synchronisiert. Im Beispiel wird vom Server auf das lokale Dateisystem gespeichert. Umgekehrt geht es auch:

rsync -az /lokaler/Pfad/ Username@FQDN/IP des Servers:/Pfad/auf/dem/Server 

Da ich mir das Leben gerne schwer mache und Skripte entwerfe, hier ein fertiges Script, welches Ihr auf Eure Belange einstellen könnt: https://github.com/splitti/phoniebox_rsync

Du kannst das Script mit folgendem Befehlen direkt auf die Box ziehen und startklar machen:

wget https://raw.githubusercontent.com/splitti/phoniebox_rsync/master/sync.sh
chmod 0700 sync.sh

Das Ganze Script synct erst, dann werden die Daten neu eingelesen und somit auch die Dienste neu gestartet. Daher macht ein Sync per Rfid-Karte Sinn. Eine Anleitung dazu findest Du hier: https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/MANUAL#cardcontrol

Dafür muss die Datei /home/pi/RPi-Jukebox-RFID/settings/rfid_trigger_play.conf z.B. folgende neue Zeile erhalten, natürlich mit der ID von Deiner Karte:

SYNCDATA="RFID-CARD-ID-012345"

Die ID passt Du passend der Karten-ID an. Dann muss noch die Datei /home/pi/RPi-Jukebox-RFID/scripts/rfid_trigger_play.sh erweitert werden. In Zeile 275 hinter dem Abschnitt

        $RECORDPLAYBACKLATEST)
            $PATHDATA/playout_controls.sh -c=recordplaybacklatest
            ;;

tragt Ihr dann

       $SYNCDATA)
            /home/pi/sync.sh
            ;;

ein. Dabei passt den Pfad entsprechend zu Eurer Datei an!

Solltest Du tatsächlich zwei Phonieboxen auf diese Art direkt synchronisieren, macht es noch Sinn auf der anderen Box die Dienste neu zu starten. Das funktioniert natürlich ebenso aus der Shell Remote:

ssh -q Username@IP/FQDN sudo service mopidy stop; sudo mopidyctl local scan; sudo service mopidy start

Bewerte diesen Beitrag
[Total: 1 Durchschnitt: 5]
Abonnieren
Benachrichtige mich bei
Deine Daten werden nicht an Dritte weitergegeben und auf deutschen Servern verarbeitet. Hiermit stimmst Du zu, dass Deine IP-Adresse für maximal 48h gespeichert wird. Außerdem stimmst Du der Speicherung und Veroffentlichung Deines Namens, Deiner Mailadresse, falls vorhanden Deiner Webseite und Deines Kommentares zu.
12 Kommentare
Neueste
Älteste Best bewertet
Inline Feedbacks
Zeige alle Kommentare
Nach oben scrollen