backupninja/handlers/makecd.helper

97 lines
2.0 KiB
Plaintext

# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
HELPERS="$HELPERS makecd:makecd_backup"
wizardname="makecd action wizard"
declare -a makecd_excludes
makecd_wizard() {
inputBox "$wizardname" "specify a burner type cd or dvd:"
[ $? = 1 ] && return
burnertype="burnertype = $REPLY"
booleanBox "$wizardname" "Make iso image only? or burn"
if [ $? = 0 ]; then
isoonly="isoonly = yes"
else
isoonly="isoonly = no"
fi
# backupdir
inputBox "$wizardname" "Directory where to store the backups:"
[ $? = 1 ] && return
backupdir="backupdir = $REPLY"
inputBox "$wizardname" "what name to give to the image file?"
[ $? = 1 ] && return
imagefile="imagefile = $REPLY"
inputBox "$wizardname" "specify a burner device:"
[ $? = 1 ] && return
device="device = $REPLY"
# target - root of system to be included
inputBox "$wizardname" "root of filesystem for burn:"
[ $? = 1 ] && return
target="target = $REPLY"
# excludes
formBegin "$wizardname: excludes"
for ((i=0; i < ${#makecd_excludes[@]} ; i++)); do
formItem exclude ${makecd_excludes[$i]}
done
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formItem exclude
formDisplay
[ $? = 1 ] && return;
unset makecd_excludes
makecd_excludes=($REPLY)
get_next_filename $configdirectory/20.makecd
cat >> $next_filename <<EOF
# TYP is cd or dvd AS WELL AS the disk inside!!
$burnertype
# not yet supported
system = no
# iso or burn to cd/dvd?
$isoonly
# location for image file
$backupdir
# image filename
$imagefile
# cd/dvd burner device
$device
# dirs/files to include in the backup
$target
# directories/files to be excluded
# exclude = /proc
# exclude = /sys
# exclude = /dev
EOF
for ((j=0; j < ${#makecd_excludes[@]} ; j++)); do
echo "exclude = ${makecd_excludes[$j]}" >> $next_filename
done
chmod 600 $next_filename
}