VU+ Receiver Script zum automatischen verschieben der Filme auf die NAS per SSH und SMB Share

Alles was nicht alltäglich ist und nirgendwo so richtig reinpasst
Post Reply
User avatar
h3rb3rn
Administrator
Posts: 191
Joined: Mon 9. Feb 2015, 23:29

VU+ Receiver Script zum automatischen verschieben der Filme auf die NAS per SSH und SMB Share

Post by h3rb3rn »

Aktualisierte Fassung vom 30.10.2023

Habe seit kurzer Zeit das lineare TV als Datenquelle für legale Filmkopien wiederentdeckt und mir die VU+ Linux Receiver zugelegt.

Um nicht ständig von der internen Festplatte die Filme manuell auf die NAS verschieben zu müssen, habe ich mir ein Shellscipt auf der NAS zusammengebaut, das auf der NAS per Cronjob täglich ausgeführt wird. Dieses setzt per SSH Remote Commands ab um die auf der Receiver Festplatte liegenden Filme auf die eigene NAS zu verschieben. Leider ist SCP und RSYNC für die VU+ Receiver keine Option da SCP einen Fehler wirft und RSYNC nicht installierbar ist.

Damit die SSH Verbindung mit dem VU+ Reciever funktioniert, muss erstmal auf der NAS ein SSH Key erstellt und auf dem VU+ Receiver der Public Key in der /home/root/.ssh/authorized_keys abgelegt werden.

Ironie das man sich ohne Passwort per Telnet auf den Receiver connecten darf, um dann eine sichere SSH Verbindung zu konfigurieren.

Das Script auf meiner NAS (Debian) sieht so aus

Code: Select all

#!/bin/bash

ssh_key=/home/h3rb3rn/.ssh/nas
host=192.168.178.70 # Receiver
smb_host=192.168.178.254 # NAS
smb_folder=dlna
smb_user=h3rb3rn
smb_password=geheimespasswort
smb_mount_script=/home/root/mount_smb.sh
workdir=/home/h3rb3rn/scripts # auf der NAS
user=root
ssh_key="-i $ssh_key -o HostKeyAlgorithms=+ssh-rsa "
#echo "-o PubkeyAcceptedKeyTypes=+ssh-rsa"
ssh_param="$ssh_key $user@$host"
dlna_video=/var/lib/vz/Share/dlna/videos/VU+/

ssh $ssh_param "echo \"#!/bin/bash\" > $smb_mount_script"
ssh $ssh_param "echo \"if [ \$ (df -h | grep $smb_folder | awk '{print \$1}') == '//$smb_host/$smb_folder' ]\" >> $smb_mount_script"
ssh $ssh_param "echo \"then\" >> $smb_mount_script"
ssh $ssh_param "echo \"  echo 'alrady mounted'\" >> $smb_mount_script"
ssh $ssh_param "echo \"else\" >> $smb_mount_script"
ssh $ssh_param "echo \"  if [ \$ (ls /media/ | grep smb) == 'smb' ]\" >> $smb_mount_script"
ssh $ssh_param "echo \"  then\" >> $smb_mount_script"
ssh $ssh_param "echo \"    echo 'directory exists'\" >> $smb_mount_script"
ssh $ssh_param "echo \"  else\" >> $smb_mount_script"
ssh $ssh_param "echo \"    mkdir /mnt/smb;\" >> $smb_mount_script"
ssh $ssh_param "echo \"  fi\" >> $smb_mount_script"
ssh $ssh_param "echo \"  mount -t cifs -o username=$smb_user,password=$smb_password //$smb_host/$smb_folder /mnt/smb\" >> $smb_mount_script"
ssh $ssh_param "echo \"fi\" >> $smb_mount_script"
ssh $ssh_param "sed -i 's/\$ (/\$(/g' $smb_mount_script"
ssh $ssh_param "chmod +x $smb_mount_script"

ssh $ssh_param "$smb_mount_script"
ssh $ssh_param "find /media/hdd/movie/ -type f -mtime +1";
ssh $ssh_param "find /media/hdd/movie/ -type f -mtime +1 -exec mv {} /mnt/smb/videos/VU+ \;"
Hint:

Samba Server installieren und Konfigurieren
Post Reply