diff options
Diffstat (limited to 'handlers/tar.helper')
| -rw-r--r-- | handlers/tar.helper | 94 | 
1 files changed, 94 insertions, 0 deletions
| diff --git a/handlers/tar.helper b/handlers/tar.helper new file mode 100644 index 0000000..cc9a89b --- /dev/null +++ b/handlers/tar.helper @@ -0,0 +1,94 @@ +# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- + +HELPERS="$HELPERS tar:tar_backup" + +tar_wizard() { +   tar_title="Tar action wizard" + +   backupname=`hostname --fqdn` + +   inputBox "$tar_title" "When to run this action?" "everyday at 01" +   [ $? = 1 ] && return +   tar_when_run="when = $REPLY" + +   inputBox "$tar_title" "\"Name\" of backups" "$backupname" +   [ $? = 1 ] && return +   tar_backupname="backupname = $REPLY" +   backupname="$REPLY"    + +   inputBox "$tar_title" "Directory where to store the backups" "/net/backups/$backupname" +   [ $? = 1 ] && return +   tar_backupdir="backupdir = $REPLY" + +   radioBox "$tar_title" "Compression" \ +       "none"     "do not filter trough" off \ +       "compress" "filter trough compress" off \ +       "gzip"     "filter trough gzip" off \ +       "bzip"     "filter trough bzip" on  +   [ $? = 1 ] && return;     +   result="$REPLY" +   tar_compress="compress = $REPLY " + +   REPLY= +   while [ -z "$REPLY" ]; do +      formBegin "$tar_title: Includes" +         formItem "Include:" /etc +         formItem "Include:" /home +         formItem "Include:" /usr/local +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +         formItem "Include:" +      formDisplay +      [ $? = 0 ] || return 1 +      tar_includes="includes = " +      for i in $REPLY; do +	 [ -n "$i" ] && tar_includes="$tar_includes $i" +      done +   done + +   REPLY= +   while [ -z "$REPLY" ]; do +      formBegin "$tar_title: Excludes" +         formItem "Exclude:" /tmp  +         formItem "Exclude:" /proc +         formItem "Exclude:" /sys +         formItem "Exclude:" /dev +         formItem "Exclude:" /srv +         formItem "Exclude:" /media +         formItem "Exclude:" /misc +         formItem "Exclude:" /net +         formItem "Exclude:" /selinux +         formItem "Exclude:"  +         formItem "Exclude:" +      formDisplay +      [ $? = 0 ] || return 1 +      tar_excludes="excludes = " +      for i in $REPLY; do +	 [ -n "$i" ] && tar_excludes="$tar_excludes $i" +      done +   done + +# Save the config  +   get_next_filename $configdirectory/10.tar +   cat > $next_filename <<EOF +$tar_when_run +$tar_backupname +$tar_backupdir +$tar_compress +$tar_includes +$tar_excludes + +# tar binary - have to be GNU tar +#TAR=/bin/tar +#DATE		/bin/date +#DATEFORMAT	"%Y.%m.%d-%H%M" + +EOF +   chmod 600 $next_filename +} + | 
