MountRemoteVDR

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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/.sambacredentials

username=NAME
password=PASSWORT

Nicht vergessen die Login-Informationen vor neugierigen Blicken zu schützen:

sudo chmod 600     /etc/vdr/MountRemoteVDR/.sambacredentials
sudo chown vdr:vdr /etc/vdr/MountRemoteVDR/.sambacredentials

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

Links