author | nathan |
Sat, 29 Dec 2007 15:28:22 +0100 | |
branch | trunk |
changeset 9 | d6649fe2a4e0 |
parent 4 | 79da91042fcc |
permissions | -rw-r--r-- |
nathan@4 | 1 |
#!/bin/bash |
nathan@4 | 2 |
|
nathan@4 | 3 |
# defaults |
nathan@4 | 4 |
|
nathan@4 | 5 |
DEVICE="/dev/sr1" |
nathan@4 | 6 |
TRACK="1" |
nathan@4 | 7 |
LIST=0 |
nathan@4 | 8 |
|
nathan@4 | 9 |
# process command-line options |
nathan@4 | 10 |
|
nathan@4 | 11 |
while getopts ":d:t:l" optn; do |
nathan@4 | 12 |
case $optn in |
nathan@4 | 13 |
d ) DEVICE=$OPTARG |
nathan@4 | 14 |
;; |
nathan@4 | 15 |
t ) TRACK=$OPTARG |
nathan@4 | 16 |
;; |
nathan@4 | 17 |
l ) LIST=1 |
nathan@4 | 18 |
;; |
nathan@4 | 19 |
\? ) echo "Usage: `basename $0` [-d device] [-t track] [-l] [filespec]" |
nathan@4 | 20 |
echo "" |
nathan@4 | 21 |
echo "Defaults: -d /dev/sr1" |
nathan@4 | 22 |
echo " -t 1" |
nathan@4 | 23 |
echo "" |
nathan@4 | 24 |
echo "if -l is given, archive is listed not restored." |
nathan@4 | 25 |
exit 1 |
nathan@4 | 26 |
;; |
nathan@4 | 27 |
esac |
nathan@4 | 28 |
done |
nathan@4 | 29 |
shift $(($OPTIND - 1)) |
nathan@4 | 30 |
|
nathan@4 | 31 |
# process input-files |
nathan@4 | 32 |
|
nathan@4 | 33 |
TMP="/tmp/cdload.$$" |
nathan@4 | 34 |
rm -f $TMP |
nathan@4 | 35 |
|
nathan@4 | 36 |
SPECOPT="" |
nathan@4 | 37 |
for filespec in "$@"; do |
nathan@4 | 38 |
echo "$filespec" >>$TMP |
nathan@4 | 39 |
SPECOPT="-w $TMP" |
nathan@4 | 40 |
done |
nathan@4 | 41 |
#echo "-$SPECOPT-" |
nathan@4 | 42 |
#cat $TMP |
nathan@4 | 43 |
#echo "--" |
nathan@4 | 44 |
|
nathan@4 | 45 |
if [ $LIST -eq 1 ]; then |
nathan@4 | 46 |
aopt="-t" # list archive |
nathan@4 | 47 |
echo "`basename $0`: listing archive" |
nathan@4 | 48 |
else |
nathan@4 | 49 |
aopt="-i" # restore archive |
nathan@4 | 50 |
echo "`basename $0`: restoring archive" |
nathan@4 | 51 |
fi |
nathan@4 | 52 |
|
nathan@4 | 53 |
cdrestore -d $DEVICE -t $TRACK | afio $aopt -vnz $SPECOPT - |
nathan@4 | 54 |
|
nathan@4 | 55 |
rm -f $TMP |