mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-08 20:02:32 +01:00
Proposed feature to address https://labs.riseup.net/code/issues/2492
This commit is contained in:
parent
6aca9c822b
commit
a1c2229e1a
@ -11,6 +11,9 @@ version 0.9.9 -- UNRELEASED
|
||||
(Closes Roundup bug #598)
|
||||
. Remove support for duplicity < 0.4.4. Even etch-backports has
|
||||
a newer one.
|
||||
. Now support remove-all-but-n-full command for duplicity >=
|
||||
0.9.10 to allow removal of increments for older full backups
|
||||
(Closes #2492)
|
||||
ldap:
|
||||
. Fix reliance on bash for pipefail.
|
||||
mysql:
|
||||
|
@ -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".
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user