aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2007-06-19 09:55:13 +0000
committerintrigeri <intrigeri@boum.org>2007-06-19 09:55:13 +0000
commitffac2e56a562a38bd5e9b3cdc807a687c5cb1cf4 (patch)
tree0b6e5a0aed45c261c28058407ecc9c4baceb9e34
parent5cf34cae1d7a5e5a88a58560a0479e2504db0ba9 (diff)
downloadbackupninja-ffac2e56a562a38bd5e9b3cdc807a687c5cb1cf4.tar.gz
backupninja-ffac2e56a562a38bd5e9b3cdc807a687c5cb1cf4.tar.bz2
rdiff: handle "keep = yes" to disable old backups removal (Closes: #424633)
-rw-r--r--ChangeLog1
-rw-r--r--examples/example.rdiff2
-rw-r--r--handlers/rdiff40
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