MountRemoteVDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Updated script)
(Prepared script to mount without an entry in fstab)
Zeile 64: Zeile 64:
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
 +
set -x
 
. /etc/vdr/MountRemoteVDR/common.conf
 
. /etc/vdr/MountRemoteVDR/common.conf
 
. /etc/vdr/MountRemoteVDR/$1.conf
 
. /etc/vdr/MountRemoteVDR/$1.conf
Zeile 77: Zeile 78:
  
 
# mount
 
# mount
 +
if [ "x$CREDENTIALS" != "x" ]; then
 +
mount -t cifs -o credentials=$CREDENTIALS $SHARE $MOUNTPOINT
 +
else
 
mount $MOUNTPOINT
 
mount $MOUNTPOINT
 +
fi
 +
 
touch $VIDEODIR/.update
 
touch $VIDEODIR/.update
  

Version vom 6. April 2010, 21:33 Uhr

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


Vorbereitung

Zum Einhängen (mount) der Samba-Freigabe des entfernten VDR (vdr2) brauchen wir einen Eintrag in die fstab des lokalen VDR. Damit wir nicht versehentlich die Filme des vdr2 löschen, verwenden wir eine "readonly" Freigabe (siehe weiter unten).

Zu /etc/fstab hinzufügen:

//vdr2/video_readonly /var/lib/video.00/VDR2 cifs noauto,credentials=/etc/.sambacredentials 0 0

Die Datein /etc/.sambacredentials muss erzeugt werden und enthält die Samba-Login-Informationen. Dies vermeidet diese sensiblen Informationen in der leicht einsehbaren fstab.

/etc/.sambacredentials

username=NAME
password=PASSWORT

Nicht vergessen die Credentials vor neugierigen Blicken zu schützen:

sudo chmod 600 /etc/.sambacredentials

Und den Montageort erzeugen.

sudo mkdir /var/lib/video.00/VDR2
sudo chown vdr:vdr /var/lib/video.00/VDR2

Hinweis: Man kann sich den Eintrag in der fstab sparen wenn man den Mountscript etwas abwandelt.

mount -t cifs -o credentials=/etc/.sambacredentials  //vdr2/video_readonly /var/lib/video.00/VDR2

Dann kann man sogar ein paar Werte aus der Konfiguration verwenden. Dies werde ich erproben und später hier einbauen. Vorschlag:

mount -t cifs -o credentials=$CREDENTIALS  $SHARE $MOUNTPOINT

Die Werte $CREDENTIALS und $SHARE müssen dann natürlich in der Konfiguration zu finden sein.

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

# mount
if [ "x$CREDENTIALS" != "x" ]; then
mount -t cifs -o credentials=$CREDENTIALS $SHARE $MOUNTPOINT
else
mount $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"

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 die Mountpunkte erzeugen (fstab) und noch eine Konfigurationsdatei erstellen, sowie die Menubefehle hinzufügen.

Zu /etc/fstab hinzufügen:

//vdr3/video_readonly /var/lib/video.00/VDR3 cifs noauto,credentials=/etc/.fbcredentials 0 0
sudo mkdir /var/lib/video.00/VDR3
sudo chown vdr:vdr /var/lib/video.00/VDR3


/etc/vdr/MountRemoteVDR/vdr3.conf

NAME="vdr3"
MAC="00:77:88:99:aa:03"
MOUNTPOINT="$VIDEODIR/VDR3"

/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