Dvdselect writedvd.sh

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K
Zeile 1: Zeile 1:
 
Scripts vom [[dvdselect-plugin]].
 
Scripts vom [[dvdselect-plugin]].
  
#!/bin/sh
+
{{Box Datei | $PATH/dvdselect_readdvd.sh |
#
+
<pre>
# dvdselect_writedvd.sh - v.0.1
+
#!/bin/sh
#
+
#
# source: dvdselect-plugin
+
# dvdselect_writedvd.sh
#
+
#
# This script will by called by the vdr-plugin dvdselect to copy a DVD to
+
# source: dvdselect-plugin
# write a dvd iso image.
+
#
#
+
# This script will by called by the vdr-plugin dvdselect to copy a DVD to
# It gets the following parameter:
+
# write a dvd iso image.
#
+
#
# $1 = filename of the iso file
+
# It gets the following parameter:
 +
#
 +
# $1 = filename of the iso file
 
   
 
   
echo "dvdrecord -eject -v dev=0,0,0 speed=4 -dao $1 > /var/log/vdr/writedvd.log 2>&1" | at now
+
echo "dvdrecord -eject -v dev=0,0,0 speed=4 -dao $1 > /var/log/vdr/writedvd.log 2>&1" | at now
 +
</pre>
 +
}}
  
#!/bin/sh
+
{{Box Datei | $PATH/dvdselect_readdvd.sh |
#
+
<pre>
# source: http://www.hoochvdr.info
+
#!/bin/sh
#
+
#
# $1 = filename of the iso file
+
# source: http://www.hoochvdr.info
 +
#
 +
# $1 = filename of the iso file
 
   
 
   
DVD_RECORDCMD="growisofs"
+
DVD_RECORDCMD="growisofs"
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
+
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
DVDWRITER=/dev/hdc
+
DVDWRITER=/dev/hdc
 
   
 
   
echo " \
+
echo " \
unset SUDO_COMMAND ; \
+
unset SUDO_COMMAND ; \
svdrpsend.pl -d localhost "MESG DVD burn initiated" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "MESG DVD burn initiated" 2>/dev/null 1>/dev/null ; \
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
exec $DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=$1 ; \
+
exec $DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=$1 ; \
svdrpsend.pl -d localhost "MESG DVD burn completed" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "MESG DVD burn completed" 2>/dev/null 1>/dev/null ; \
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
"| at now
+
"| at now
 +
</pre>
 +
}}
  
#!/bin/sh
+
{{Box Datei | $PATH/dvdselect_readdvd.sh |
#
+
<pre>
# source: http://www.hoochvdr.info
+
#!/bin/sh
#
+
#
# Angepasst für LinVDR 0.7, da es kein at-Kommando gibt
+
# source: http://www.hoochvdr.info
# Modified for LinVDR 0.7, because there is no at-command available
+
#
#
+
# Angepasst für LinVDR 0.7, da es kein at-Kommando gibt
# $1 = filename of the iso file
+
# Modified for LinVDR 0.7, because there is no at-command available
 +
#
 +
# $1 = filename of the iso file
 
   
 
   
DVD_RECORDCMD="growisofs"
+
DVD_RECORDCMD="growisofs"
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
+
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
DVDWRITER=/dev/hdc
+
DVDWRITER=/dev/hdc
 
   
 
   
echo " \
+
echo " \
svdrpsend.pl -d localhost "MESG DVD brennen gestartet" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "MESG DVD brennen gestartet" 2>/dev/null 1>/dev/null ; \
$DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=\"$1\" ; \
+
$DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=\"$1\" ; \
svdrpsend.pl -d localhost "MESG DVD fertig" 2>/dev/null 1>/dev/null ; \
+
svdrpsend.pl -d localhost "MESG DVD fertig" 2>/dev/null 1>/dev/null ; \
" > /tmp/dvdselect-burn-temp.sh
+
" > /tmp/dvdselect-burn-temp.sh
 
   
 
   
chmod 700 /tmp/dvdselect-burn-temp.sh
+
chmod 700 /tmp/dvdselect-burn-temp.sh
/tmp/dvdselect-burn-temp.sh &
+
/tmp/dvdselect-burn-temp.sh &
 +
</pre>
 +
}}
  
#!/bin/sh
+
{{Box Datei | $PATH/dvdselect_readdvd.sh |
#
+
<pre>
# This script will be called by the vdr-plugin dvdselect
+
#!/bin/sh
# to write a dvd iso image.
+
#
#
+
# This script will be called by the vdr-plugin dvdselect
# It gets the following parameter:
+
# to write a dvd iso image.
#
+
#
# $1 = filename of the iso file
+
# It gets the following parameter:
#
+
#
# Erweiterung: 2005-01-18 Claus.Thiemann (at) gmx.de
+
# $1 = filename of the iso file
# Nutzung eines installierten vdrconvert zum Brennen
+
#
# Die Variablen muessen an die verwendete Distribution angepasst werden
+
# Erweiterung: 2005-01-18 Claus.Thiemann (at) gmx.de
 +
# Nutzung eines installierten vdrconvert zum Brennen
 +
# Die Variablen muessen an die verwendete Distribution angepasst werden
 
   
 
   
BASENAME="$(basename $0)"
+
BASENAME="$(basename $0)"
CONF=/etc/vdr/vdrconvert/vdrconvert.dvd.conf
+
CONF=/etc/vdr/vdrconvert/vdrconvert.dvd.conf
ISO="$1"
+
ISO="$1"
JOB=/var/spool/vdrconvert/burn
+
JOB=/var/spool/vdrconvert/burn
SVDRP=/usr/lib/vdr/svdrpsend.pl
+
SVDRP=/usr/lib/vdr/svdrpsend.pl
 
   
 
   
function f_check_file() {
+
function f_check_file() {
# Gibts die Datei?
+
# Gibts die Datei?
[ -s $1 ] && return 0
+
[ -s $1 ] && return 0
# Meldung ausgeben auf TV und SysLog
+
# Meldung ausgeben auf TV und SysLog
MSG="$1 nicht gefunden"
+
MSG="$1 nicht gefunden"
# und zwar im Hintergrund wegen Broken Pipe Problem
+
# und zwar im Hintergrund wegen Broken Pipe Problem
$SVDRP MESG $MSG > /dev/null &
+
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
+
echo $MSG ; sleep 3
return 1
+
return 1
}
+
}
 
   
 
   
function f_check_job() {
+
function f_check_job() {
# Gibts die Datei noch nicht oder ist sie leer?
+
# Gibts die Datei noch nicht oder ist sie leer?
[ -s $1 ] || return 0
+
[ -s $1 ] || return 0
MSG="$1 ist nicht leer"
+
MSG="$1 ist nicht leer"
$SVDRP MESG $MSG > /dev/null &
+
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
+
echo $MSG ; sleep 3
return 1
+
return 1
}
+
}
 
   
 
   
function f_init_burn() {
+
function f_init_burn() {
# "Sourcen" der Konfiguration
+
# "Sourcen" der Konfiguration
. $CONF
+
. $CONF
[ -z "$CDSIZE" ] && CDSIZE=700
+
[ -z "$CDSIZE" ] && CDSIZE=700
SIZE=$(ls -al $ISO | awk '{print $5}')
+
SIZE=$(ls -al $ISO | awk '{print $5}')
SIZE=$[$SIZE/1048576]
+
SIZE=$[$SIZE/1048576]
[ $SIZE -le $CDSIZE ] && TYP="MINIDVD" || TYP="DVD"
+
[ $SIZE -le $CDSIZE ] && TYP="MINIDVD" || TYP="DVD"
[ $MINIDVD != "yes" ] && TYP="DVD"
+
[ $MINIDVD != "yes" ] && TYP="DVD"
MSG="$(basename $ISO) ($SIZE MB) wird als $TYP gebrannt..."
+
MSG="$(basename $ISO) ($SIZE MB) wird als $TYP gebrannt..."
$SVDRP MESG $MSG > /dev/null &
+
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
+
echo $MSG ; sleep 3
echo "$ISO:$TYP:" > $JOB
+
echo "$ISO:$TYP:" > $JOB
return 0
+
return 0
}
+
}
 
   
 
   
f_main() {
+
f_main() {
f_check_file $SVDRP || return
+
f_check_file $SVDRP || return
f_check_file $CONF || return
+
f_check_file $CONF || return
f_check_file $ISO || return
+
f_check_file $ISO || return
f_check_job $JOB || return
+
f_check_job $JOB || return
f_init_burn
+
f_init_burn
}
+
}
 
   
 
   
# Aufruf der Haupt-Funktion mit oder ohne Syslog
+
# Aufruf der Haupt-Funktion mit oder ohne Syslog
#f_main
+
#f_main
f_main | logger -i -t $BASENAME
+
f_main | logger -i -t $BASENAME
 
   
 
   
# EOF
+
# EOF
 +
</pre>
 +
}}
  
 
[[Kategorie:Scripts]]
 
[[Kategorie:Scripts]]

Version vom 20. Juli 2005, 16:01 Uhr

Scripts vom dvdselect-plugin.

Datei
$PATH/dvdselect_readdvd.sh
#!/bin/sh
#
# dvdselect_writedvd.sh
#
# source: dvdselect-plugin
#
# This script will by called by the vdr-plugin dvdselect to copy a DVD to
# write a dvd iso image.
#
# It gets the following parameter:
#
# $1 = filename of the iso file
 
echo "dvdrecord -eject -v dev=0,0,0 speed=4 -dao $1 > /var/log/vdr/writedvd.log 2>&1" | at now


Datei
$PATH/dvdselect_readdvd.sh
#!/bin/sh
#
# source: http://www.hoochvdr.info
#
# $1 = filename of the iso file
 
DVD_RECORDCMD="growisofs"
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
DVDWRITER=/dev/hdc
 
echo " \
unset SUDO_COMMAND ; \
svdrpsend.pl -d localhost "MESG DVD burn initiated" 2>/dev/null 1>/dev/null ; \
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
exec $DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=$1 ; \
svdrpsend.pl -d localhost "MESG DVD burn completed" 2>/dev/null 1>/dev/null ; \
svdrpsend.pl -d localhost "QUIT" 2>/dev/null 1>/dev/null ; \
"| at now


Datei
$PATH/dvdselect_readdvd.sh
#!/bin/sh
#
# source: http://www.hoochvdr.info
#
# Angepasst für LinVDR 0.7, da es kein at-Kommando gibt
# Modified for LinVDR 0.7, because there is no at-command available
#
# $1 = filename of the iso file
 
DVD_RECORDCMD="growisofs"
DVDPLUS_RECORD_OPTS="-dvd-compat -Z"
DVDWRITER=/dev/hdc
 
echo " \
svdrpsend.pl -d localhost "MESG DVD brennen gestartet" 2>/dev/null 1>/dev/null ; \
$DVD_RECORDCMD $DVDPLUS_RECORD_OPTS $DVDWRITER=\"$1\" ; \
svdrpsend.pl -d localhost "MESG DVD fertig" 2>/dev/null 1>/dev/null ; \
" > /tmp/dvdselect-burn-temp.sh
 
chmod 700 /tmp/dvdselect-burn-temp.sh
/tmp/dvdselect-burn-temp.sh &


Datei
$PATH/dvdselect_readdvd.sh
#!/bin/sh
#
# This script will be called by the vdr-plugin dvdselect
# to write a dvd iso image.
#
# It gets the following parameter:
#
# $1 = filename of the iso file
#
# Erweiterung: 2005-01-18 Claus.Thiemann (at) gmx.de
# Nutzung eines installierten vdrconvert zum Brennen
# Die Variablen muessen an die verwendete Distribution angepasst werden
 
BASENAME="$(basename $0)"
CONF=/etc/vdr/vdrconvert/vdrconvert.dvd.conf
ISO="$1"
JOB=/var/spool/vdrconvert/burn
SVDRP=/usr/lib/vdr/svdrpsend.pl
 
function f_check_file() {
# Gibts die Datei?
[ -s $1 ] && return 0
# Meldung ausgeben auf TV und SysLog
MSG="$1 nicht gefunden"
# und zwar im Hintergrund wegen Broken Pipe Problem
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
return 1
}
 
function f_check_job() {
# Gibts die Datei noch nicht oder ist sie leer?
[ -s $1 ] || return 0
MSG="$1 ist nicht leer"
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
return 1
}
 
function f_init_burn() {
# "Sourcen" der Konfiguration
. $CONF
[ -z "$CDSIZE" ] && CDSIZE=700
SIZE=$(ls -al $ISO | awk '{print $5}')
SIZE=$[$SIZE/1048576]
[ $SIZE -le $CDSIZE ] && TYP="MINIDVD" || TYP="DVD"
[ $MINIDVD != "yes" ] && TYP="DVD"
MSG="$(basename $ISO) ($SIZE MB) wird als $TYP gebrannt..."
$SVDRP MESG $MSG > /dev/null &
echo $MSG ; sleep 3
echo "$ISO:$TYP:" > $JOB
return 0
}
 
f_main() {
f_check_file $SVDRP || return
f_check_file $CONF || return
f_check_file $ISO || return
f_check_job $JOB || return
f_init_burn
}
 
# Aufruf der Haupt-Funktion mit oder ohne Syslog
#f_main
f_main | logger -i -t $BASENAME
 
# EOF