Hallo zusammen!
Leider gelingt es mir mit meinem Script zwar Aufnahmen auf eine DVDRAM zu schreiben (Es ist ziemlich zusammengesuchter Code (dafür Dank an alle die sich angesprochen fühlen) - aus dem Forum und den Weiten des Internets - für Verbesserungsvorschläge bin ich dankbar, die ASG (Advanced Scripting Generation) bitte ich schon mal um Nachsicht).
Zielsetzung des Scripts war auf die von mir erworbenen DVDRAM Aufnahmen zu sichern. Das klappt nun auch aber nicht wie gewünscht Trotz Übernahme des Codes aus der vdrburn-dvd.sh, wird der vorhandene Counter "standard" auf "0000" gesetzt und nicht hochgezählt, und die svdrpsend.pl MESG ... erscheint ohne Angabe des (geschriebenen) Counters.
Ist das überhaupt verständlich?! Ich versuche das mal anders:
1. Der Counter des burn PLugins steht auf 0100
2. Mein Script nimmt sich diesen Counter und schreibt ihn richtig ins Verzeichnis und kopiert dieses auf die DVDRAM
3. Nun sollte der Counter auf 101 erhöht werden
4. Der Counter des burn Plugins steht auf 0000
5. Es soll eine MSG an den VDR geshickt werden "Aufnahme 100 fertig!", es wird aber nur angezeigt "Aufnahme fertig"
So, hier mein Script:
#!/bin/sh
#
set -x
set -e
#Parameter: Verzeichnis der Aufnahme in $1
VIDEODIR=/media/dvdram
ALREADY_MOUNTED=""
AUFNAHME=$1
CONFIG_PATH=/etc/vdr/plugins/burn
function SEND_MESSAGE() {
#echo $1
/usr/local/bin/svdrpsend.pl MESG $1 >/dev/null 2>&1
return
}
cd $1
at now <<EOF
#prüfe ob DVDRAM eingehangen
if [ $(mount | grep -c /media/dvdram) != 1 ]
then
/bin/mount /media/dvdram || exit 1
#echo "/mnt/MOUNTEDDIR is now mounted"
/usr/local/bin/svdrpsend.pl MESG "Laufwerk wurde gemounted"
else
#echo "/mnt/MOUNTEDDIR already mounted"
/usr/local/bin/svdrpsend.pl MESG "Laufwerk war schon gemounted?!" && exit
fi
if [ $(mount | grep -c /media/dvdram) != 0 ]
then
/usr/local/bin/svdrpsend.pl MESG "DVDRAM nicht eingehangen!"
else
#ermittele Namen der Aufzeichnung (eine Ebene höher)
TARGETDIR=${1/*%/} #eventuelles % entfernen
TARGETDIR=${TARGETDIR/\/2[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].rec\*/} #rec-Verzeichnis entfernen
TARGETDIR=${TARGETDIR/*\//} #alles vor dem letzten Verzeichnis entfernen
#prüfe ob Ordner schon existiert, ggf. neu erstellen
if [ ! -d $VIDEODIR/$TARGETDIR ]; then
# verzeichnis muss neu angelegt werden
#SEND_MESSAGE "Verz anlegen... "$VIDEODIR/$TARGETDIR
mkdir $VIDEODIR/$TARGETDIR && CREATEDIR=1 || CREATEDIR=0
if [ $CREATEDIR -eq 0 ]; then
/usr/local/bin/svdrpsend.pl MESG "Fehler beim Verzeichnis anlegen" && exit
fi
fi
#echo $AUFNAHME " >> " $VIDEODIR/$TARGETDIR
echo "Creating $AUFNAHME/dvd.vdr"
cp "$CONFIG_PATH/counters/standard" "$AUFNAHME/dvd.vdr"
#kopiere die Aufnahme in diesen Ordner
##&& ( COPIED=1 ) || ( COPIED=0 )
## status=$?
AUFNAHME1=`echo $AUFNAHME | sed 's/video0/video1/'`
AUFNAHME2=`echo $AUFNAHME | sed 's/video0/video2/'`
cp -r -L $AUFNAHME $VIDEODIR/$TARGETDIR
if [ $? -eq 0 ]
then
find $AUFNAHME2 -name 0??.vdr -exec rm {} \;
find $AUFNAHME2 -name resume.vdr -exec rm {} \;
find $AUFNAHME1 -name 0??.vdr -exec rm {} \;
find $AUFNAHME1 -name resume.vdr -exec rm {} \;
find $AUFNAHME -name 0??.vdr -exec rm {} \;
find $AUFNAHME -name resume.vdr -exec rm {} \;
sleep 1
touch /video0/.update
/usr/local/bin/svdrpsend.pl MESG "Aufnahme $DVD_ID erfolgreich kopiert"
umount /dev/dvdram
eject /dev/dvdram
(( DVD_ID = `cat /etc/vdr/plugins/burn/counters/standard | sed "s/^0*//"` + 1 ))
printf "%04d\n" $DVD_ID > "/etc/vdr/plugins/burn/counters/standard"
else
rm $AUFNAHME/dvd.vdr
/usr/local/bin/svdrpsend.pl MESG "Aufnahme konnte nicht kopiert werden"
umount /dev/dvdram
eject /dev/dvdram
(( DVD_ID = `cat /etc/vdr/plugins/burn/counters/standard | sed "s/^0*//"` - 1 ))
printf "%04d\n" $DVD_ID > "/etc/vdr/plugins/burn/counters/standard"
fi
#umount /dev/dvdram
#eject /dev/dvdram
fi
EOF
Alles anzeigen
Danke im voraus für eure Hinweise!
Lothar