dup: support every duplicity-supported transport with new configuration option desturl (Closes: #483712, #346040, Trac#2)

This commit is contained in:
intrigeri 2008-06-24 13:32:34 +00:00
parent c0ca5e3dda
commit f0caa9cc1b
4 changed files with 35 additions and 9 deletions

View File

@ -12,6 +12,8 @@ version 0.9.6 -- unreleased
only trigger a warning on failure, since they should not stop backups
from being done. Also migrated full/incremental backup switch to the
new syntax.
. Support every duplicity-supported transport with new configuration
option desturl (Closes: #483712, #346040, Trac#2).
ldap:
. support HDB backend just as the BDB one, and make message clearer
when no supported backend is found (Closes: #476910)

View File

@ -120,6 +120,12 @@ exclude = /home/*/.gnupg
#keep = 60
#keep = yes
# full destination URL, in duplicity format; if set, desturl overrides
# sshoptions, destdir, desthost and destuser, and disables testconnect
# For details, see duplicity manpage, section "URL FORMAT".
#desturl = file:///usr/local/backup
#desturl = rsync://user@other.host//var/backup/bla
# bandwith limit, in kbit/s ; default is 0, i.e. no limit
#bandwidthlimit = 128

View File

@ -397,6 +397,12 @@ incremental = $dup_incremental
#keep = yes
keep = $dup_keep
# full destination URL, in duplicity format; if set, desturl overrides
# sshoptions, destdir, desthost and destuser, and disables testconnect
# For details, see duplicity manpage, section "URL FORMAT".
#desturl = file:///usr/local/backup
#desturl = rsync://user@other.host//var/backup/bla
# bandwith limit, in kbit/s ; default is 0, i.e. no limit
#bandwidthlimit = 128
bandwidthlimit = $dup_bandwidth

View File

@ -24,6 +24,7 @@ getconf exclude
setsection dest
getconf incremental yes
getconf keep 60
getconf desturl
getconf sshoptions
getconf bandwidthlimit 0
getconf desthost
@ -33,7 +34,7 @@ destdir=${destdir%/}
### SANITY CHECKS ##############################################################
[ -n "$destdir" ] || fatal "Destination directory not set"
[ -n "$desturl" -o -n "$destdir" ] || fatal "The destination directory (destdir) must be set when desturl is not used."
[ -n "$include" ] || fatal "No source includes specified"
[ -n "$password" ] || fatal "The password option must be set."
@ -58,13 +59,17 @@ fi
### See if we can login on $desthost
if [ "$testconnect" == "yes" ]; then
debug "ssh $sshoptions -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'"
if [ ! $test ]; then
result=`ssh $sshoptions -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'`
if [ "$result" != "1" ]; then
fatal "Can't connect to $desthost as $destuser."
else
debug "Connected to $desthost as $destuser successfully"
if [ -n "$desturl" ]; then
warning 'testconnect can not be used when desturl is set'
else
debug "ssh $sshoptions -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'"
if [ ! $test ]; then
result=`ssh $sshoptions -o PasswordAuthentication=no $desthost -l $destuser 'echo -n 1'`
if [ "$result" != "1" ]; then
fatal "Can't connect to $desthost as $destuser."
else
debug "Connected to $desthost as $destuser successfully"
fi
fi
fi
fi
@ -75,7 +80,14 @@ fi
execstr_command=
execstr_options="$options --no-print-statistics"
execstr_source=
execstr_serverpart="scp://$destuser@$desthost/$destdir"
if [ -n "$desturl" ]; then
[ -z "$destuser" ] || warning 'the configured destuser is ignored since desturl is set'
[ -z "$desthost" ] || warning 'the configured desthost is ignored since desturl is set'
[ -z "$destdir" ] || warning 'the configured destdir is ignored since desturl is set'
execstr_serverpart="$desturl"
else
execstr_serverpart="scp://$destuser@$desthost/$destdir"
fi
### duplicity version
duplicity_version="`duplicity --version | @AWK@ '{print $2}'`"