aboutsummaryrefslogtreecommitdiff
path: root/handlers/dup.in
diff options
context:
space:
mode:
authorOlivier Berger <oberger@ouvaton.org>2010-11-21 10:07:36 +0100
committerOlivier Berger <oberger@ouvaton.org>2011-04-25 22:40:44 +0200
commita1c2229e1a0d476fc02626f1326fa263955b17ee (patch)
tree4f76e3ac412edc7d942d6d8a2c3aa070084f80c3 /handlers/dup.in
parent6aca9c822b640372b0fad24d2a3a288ef2cd6a0f (diff)
downloadbackupninja-a1c2229e1a0d476fc02626f1326fa263955b17ee.tar.gz
backupninja-a1c2229e1a0d476fc02626f1326fa263955b17ee.tar.bz2
Proposed feature to address https://labs.riseup.net/code/issues/2492
Diffstat (limited to 'handlers/dup.in')
-rw-r--r--handlers/dup.in25
1 files changed, 25 insertions, 0 deletions
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