diff --git a/ChangeLog b/ChangeLog index 1179b03a3879db4ad4aefff397d67fdaffcc6a7f..6ad819e60c21f75689fa12941198e65f2455ed19 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,7 @@ version 0.9.5 -- unreleased (Closes: #396578) rdiff: . Added cstream support to allow for bandwidth limiting + . Handle "keep = yes" to disable old backups removal (Closes: #424633) rub . Fixed typo in rub handler that caused it to not work . Changed to use lib/vserver code diff --git a/examples/example.rdiff b/examples/example.rdiff index 5ad700be624eb014e23c4d05c407054a8602afa9..c327fd61564b43095b58d77920355e396de35865 100644 --- a/examples/example.rdiff +++ b/examples/example.rdiff @@ -38,6 +38,8 @@ type = local # how many days of data to keep # (you can also use the time format of rdiff-backup, e.g. 6D5h) +# (to keep everything, set this to yes) +#keep = yes keep = 60 # A few notes about includes and excludes: diff --git a/handlers/rdiff b/handlers/rdiff index 5561435331d6c0dab76e2f66678d52cd00309585..52637cd42ee2eb2b7c8ab5313762735d3a8c1bab 100644 --- a/handlers/rdiff +++ b/handlers/rdiff @@ -152,27 +152,31 @@ esac ### REMOVE OLD BACKUPS ### -if [ "`echo $keep | tr -d 0-9`" == "" ]; then +if [ "$keep" != yes ]; then + + if [ "`echo $keep | tr -d 0-9`" == "" ]; then # add D if no other date unit is specified - keep="${keep}D" -fi + keep="${keep}D" + fi -removestr="$RDIFFBACKUP $options --force --remove-older-than $keep " -if [ "$desttype" == "remote" ]; then - removestr="${removestr}${destuser}@${desthost}::" -fi -removestr="${removestr}${destdir}/${label}"; + removestr="$RDIFFBACKUP $options --force --remove-older-than $keep " + if [ "$desttype" == "remote" ]; then + removestr="${removestr}${destuser}@${desthost}::" + fi + removestr="${removestr}${destdir}/${label}"; + + debug "$removestr" + if [ $test = 0 ]; then + output="`su -c "$removestr" 2>&1`" + if [ $? = 0 ]; then + debug $output + info "Removing backups older than $keep days succeeded." + else + warning $output + warning "Failed removing backups older than $keep." + fi + fi -debug "$removestr" -if [ $test = 0 ]; then - output="`su -c "$removestr" 2>&1`" - if [ $? = 0 ]; then - debug $output - info "Removing backups older than $keep days succeeded." - else - warning $output - warning "Failed removing backups older than $keep." - fi fi # Add cstream