MountRemoteVDR
Fauthd (Diskussion | Beiträge) (Updated script) |
Fauthd (Diskussion | Beiträge) (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
- c't-VDR-Distribution
- Samba einrichten
- NFS-Freigabe