From ffac2e56a562a38bd5e9b3cdc807a687c5cb1cf4 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 19 Jun 2007 09:55:13 +0000 Subject: [PATCH] rdiff: handle "keep = yes" to disable old backups removal (Closes: #424633) --- ChangeLog | 1 + examples/example.rdiff | 2 ++ handlers/rdiff | 40 ++++++++++++++++++++++------------------ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1179b03..6ad819e 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 5ad700b..c327fd6 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 5561435..52637cd 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 -- 2.30.2