MountRemoteVDR
Inhaltsverzeichnis |
Beschreibung
Diese Skripte ermöglichen das Starten eines weiteren VDR per WOL (Wake On Lan). Danach wird das entfernte Aufnahmeverzeichnis automatisch im lokalen Aufnahmeverzeichnis eingehängt.
Die Bedienung erfolgt über neue Befehle im VDR-Menu.
Lokale Konfigurationen
Voraussetzungen
Diese Beschreibung ist für Debian (Lenny) und Ubuntu (Intrepid, Karmic). Hier müssen wir ein paar Werkzeuge Installieren.
sudo apt-get install wakeonlan smbclient
Vorbereitung
Zum Einhängen (mount) der Samba-Freigabe des entfernten VDR (vdr2) brauchen wir die Login-Informationen und den Freigabenamen. Diese Werte stehen später in den Konfigurationsdateien, aber hier machen wir alles noch zu Fuß.
Die Login-Informationen werden in einer Datei gespeichert damit sie vor neugierigen Blicken etwas sicherer sind.
Wir legen ein neues Verzeichnis unterhalb von /etc/vdr an. Dies brauchen wir später sowieso um die Konfigurationen zu speichern.
cd /etc/vdr sudo mkdir MountRemoteVDR sudo chown vdr:vdr MountRemoteVDR
Nun erzeugen wir die Samba Login-Informationen.
/etc/vdr/MountRemoteVDR/.vdr2credentials
username=NAME password=PASSWORT
Nicht vergessen die Login-Informationen vor neugierigen Blicken zu schützen:
sudo chmod 600 /etc/vdr/MountRemoteVDR/.vdr2credentials sudo chown vdr:vdr /etc/vdr/MountRemoteVDR/.vdr2credentials
Hinweis: Die ältere Version der Scripte verwendete noch Einträge in der fstab-Datei, aber damit ist der Plegeaufwand höher.
Script zum Anmelden
Er wird vom VDR Menu aufgerufen.
/usr/lib/vdr/mount-remote-vdr.sh
#!/bin/bash #set -x . /etc/vdr/MountRemoteVDR/common.conf . /etc/vdr/MountRemoteVDR/$1.conf #wake wakeonlan -i $BROADCAST_DOMAIN $MAC # wait until it is up ping $NAME -c1 while [ "$?" != "0" ] do sleep 2 ping $NAME -c1 done #Autocreate mountpoint if [ ! -d $MOUNTPOINT ]; then mkdir $MOUNTPOINT fi # mount with or without fstab if [ "x$CREDENTIALS" == "x" ]; then mount $MOUNTPOINT else mount -t cifs -o credentials=$CREDENTIALS $SHARE $MOUNTPOINT fi touch $VIDEODIR/.update svdrpsend="/usr/lib/vdr/svdrpsend.pl" $svdrpsend MESG $NAME ist nun aktiv
Eventuell kann man den Script verbessern indem man mit smbclient prüft ob die Samba-Freigabe wirklich schon aktiv ist.
Script zum Abmelden
Er wird vom VDR Menu aufgerufen.
/usr/lib/vdr/umount-remote-vdr.sh
#!/bin/bash . /etc/vdr/MountRemoteVDR/common.conf . /etc/vdr/MountRemoteVDR/$1.conf umount -f $MOUNTPOINT touch $VIDEODIR/.update
Konfigurationsdateien
Für die Konfigurationsdateien legen wir ein neues Verzeichnis unterhalb von /etc/vdr an.
sudo mkdir MountRemoteVDR sudo chown vdr:vdr MountRemoteVDR
Gemeinsame Konfiguratinen wie das Videoverzeichnis und die Broadcast domain werden hier gespeichert:
/etc/vdr/MountRemoteVDR/common.conf
BROADCAST_DOMAIN="192.168.1.255" VIDEODIR=/var/lib/video.00
Die Konfiguration enthält unter anderem den Namen und die MAC Adresse des entfernten VDR.
/etc/vdr/MountRemoteVDR/vdr2.conf
NAME="vdr2" MAC="00:77:88:99:aa:ff" MOUNTPOINT="$VIDEODIR/VDR2" SHARE=//$NAME/video_readonly CREDENTIALS=/etc/vdr/MountRemoteVDR/.sambacredentials
Menubefehle
Es fehlen noch die Befehle für das VDR-Menu:
/usr/share/vdr/command-hooks/commands.MountRemoteVDR.conf
VDR2 anmelden : echo "/usr/lib/vdr/mount-remote-vdr.sh vdr2" | at now VDR2 abmelden : echo "/usr/lib/vdr/umount-remote-vdr.sh vdr2" | at now
Weitere VDRs
Hat man noch mehr VDRs, kann man die leicht hinzufügen. Einfach noch eine Konfigurationsdatei erstellen, sowie die Menubefehle hinzufügen.
Eventuel sollte man andere Samba-Logindaten verwenden, aber hier im Beispiel sind wir faul.
/etc/vdr/MountRemoteVDR/vdr3.conf
NAME="vdr3" MAC="00:77:88:99:aa:03" MOUNTPOINT="$VIDEODIR/VDR3" SHARE=//$NAME/video_readonly CREDENTIALS=/etc/vdr/MountRemoteVDR/.sambacredentials
/usr/share/vdr/command-hooks/commands.MountRemoteVDR3.conf
VDR3 anmelden : echo "/usr/lib/vdr/mount-remote-vdr.sh vdr3" | at now VDR3 abmelden : echo "/usr/lib/vdr/umount-remote-vdr.sh vdr3" | at now
Konfiguration des entfernten VDR
Samba Installieren
sudo apt-get install samba
Wir erzeugen eine Samba Freigabe in /etc/samba/smb.conf sowie den erforderlichen Samba-User. Wir sperren das Schreiben damit der andere VDR nicht versehentlich unsere Filme aufräumt.
[video_readonly] comment = video browseable = yes writable = no path = /video public = yes create mask = 0655
sudo smbpasswd NAME PASSWORT
Wake On Lan
ToDo.
Links
- c't-VDR-Distribution
- Samba einrichten
- NFS-Freigabe