diff options
Diffstat (limited to 'handlers')
| -rw-r--r-- | handlers/dup.helper.in | 14 | ||||
| -rw-r--r-- | handlers/dup.in | 25 | 
2 files changed, 37 insertions, 2 deletions
| diff --git a/handlers/dup.helper.in b/handlers/dup.helper.in index 5cd9dc6..2594b0b 100644 --- a/handlers/dup.helper.in +++ b/handlers/dup.helper.in @@ -124,6 +124,7 @@ do_dup_dest() {          formItem "keep" "$dup_keep"          formItem "incremental" "$dup_incremental"          formItem "increments" "$dup_increments" +        formItem "keepincroffulls" "$dup_keepincroffulls"          formItem "bandwidthlimit" "$dup_bandwidth"          formItem "sshoptions" "$dup_sshoptions"        formDisplay @@ -141,8 +142,9 @@ do_dup_dest() {        dup_keep=${thereply[3]}        dup_incremental=${thereply[4]}        dup_increments=${thereply[5]} -      dup_bandwidth=${thereply[6]} -      dup_sshoptions=${thereply[7]} +      dup_keepincroffulls=${thereply[6]} +      dup_bandwidth=${thereply[7]} +      dup_sshoptions=${thereply[8]}     done     set +o noglob @@ -424,6 +426,14 @@ increments = $dup_increments  #keep = yes  keep = $dup_keep +# for how many full backups do we keep their later increments ; +# default is all (keep all increments). +# increments for older full backups will be deleted : only the more +# recent ones (count provided) will be kept +#keepincrofulls = all +#keepincrofulls = 6 +keepincrofulls = $dup_keepincroffulls +  # full destination URL, in duplicity format; if set, desturl overrides  # sshoptions, destdir, desthost and destuser; it also disables testconnect and  # bandwithlimit. For details, see duplicity manpage, section "URL FORMAT". diff --git a/handlers/dup.in b/handlers/dup.in index 1d345a3..b58d34d 100644 --- a/handlers/dup.in +++ b/handlers/dup.in @@ -26,6 +26,7 @@ setsection dest  getconf incremental yes  getconf increments 30  getconf keep 60 +getconf keepincroffulls all  getconf desturl  getconf awsaccesskeyid  getconf awssecretaccesskey @@ -275,6 +276,30 @@ if [ "$keep" != "yes" ]; then     fi  fi +# remove-all-inc-of-but-n-full : remove increments of older full backups : only keep latest ones +if [ "$keep" != "yes" ]; then +   if [ "$keepincroffulls" != "all" ]; then +      if [ "$duplicity_major" -ge 0 -a "$duplicity_minor" -ge 9 -a "$duplicity_sub" -ge 10 ]; then +         debug "$precmd duplicity remove-all-inc-of-but-n-full $keepincroffulls --force $execstr_options $execstr_serverpart" +         if [ ! $test ]; then +            export PASSPHRASE=$password +            export FTP_PASSWORD=$ftp_password +            output=`nice -n $nicelevel \ +               su -c \ +               "$precmd duplicity remove-all-inc-of-but-n-full $keepincroffulls --force $execstr_options $execstr_serverpart 2>&1"` +            exit_code=$? +            if [ $exit_code -eq 0 ]; then +               debug $output +               info "Duplicity remove-all-inc-of-but-n-full finished successfully." +            else +               debug $output +               warning "Duplicity remove-all-inc-of-but-n-full failed." +            fi +         fi +      fi +   fi +fi +  ### Backup command  debug "duplicity $execstr_command $execstr_options $execstr_source --exclude '**' / $execstr_serverpart"  if [ ! $test ]; then | 
