Hello,
Here is the patch to re-introduce duplicity's desturl support.
Thanks,
Olivier;
--
gpg --keyserver pgp.mit.edu --recv-keys 0x578499CB
__
Olivier Tétard - toutoune25
Site : http://toutoune25.miskin.fr
Courriel : olivier.tet...@miskin.fr
JabberID : toutoun...@jabber.org
__
diff -Nru backupninja-0.9.6.orig/examples/example.dup backupninja-0.9.6/examples/example.dup
--- backupninja-0.9.6.orig/examples/example.dup 2009-06-17 09:43:36.0 +0200
+++ backupninja-0.9.6/examples/example.dup 2009-06-17 09:47:00.0 +0200
@@ -120,6 +120,12 @@
#keep = 60
#keep = yes
+# 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.
+#desturl = file:///usr/local/backup
+#desturl = rsync://u...@other.host//var/backup/bla
+
# bandwith limit, in kbit/s ; default is 0, i.e. no limit
#bandwidthlimit = 128
diff -Nru backupninja-0.9.6.orig/handlers/dup.in backupninja-0.9.6/handlers/dup.in
--- backupninja-0.9.6.orig/handlers/dup.in 2009-06-17 09:43:36.0 +0200
+++ backupninja-0.9.6/handlers/dup.in 2009-06-17 09:47:00.0 +0200
@@ -24,6 +24,7 @@
setsection dest
getconf incremental yes
getconf keep 60
+getconf desturl
getconf sshoptions
getconf bandwidthlimit 0
getconf desthost
@@ -33,8 +34,8 @@
### SANITY CHECKS ##
-[ -n $destdir ] || fatal Destination directory not set
-[ -n $include ] || fatal No source includes specified
+[ -n $desturl -o -n $destdir ] || fatal The destination directory (destdir) must be set when desturl is not used.
+[ -n $include -o -n $vsinclude ] || fatal No source includes specified
[ -n $password ] || fatal The password option must be set.
### VServers
@@ -58,13 +59,17 @@
### 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 @@
execstr_command=
execstr_options=$options --no-print-statistics
execstr_source=
-execstr_serverpart=scp://$destu...@$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://$destu...@$desthost/$destdir
+fi
### duplicity version
duplicity_version=`duplicity --version | @AWK@ '{print $2}'`
@@ -93,7 +105,10 @@
#--sftp-command ourselves
scpoptions=$sshoptions
-[ $bandwidthlimit == 0 ] || scpoptions=$scpoptions -l $bandwidthlimit
+if [ $bandwidthlimit =! 0 ]; then
+ [ -z $testurl ] || warning 'The bandwidthlimit option is not used when desturl is set.'
+ scpoptions=$scpoptions -l $bandwidthlimit
+fi
# 0.4.2 : only uses ssh and scp
if [ $duplicity_major -le 0 -a $duplicity_minor -le 4 -a $duplicity_sub -lt 2 ]; then
@@ -205,12 +220,12 @@
# cleanup
if [ $duplicity_major -ge 0 -a $duplicity_minor -ge 4 -a $duplicity_sub -ge 4 ]; then
- debug $precmd duplicity cleanup $execstr_options $execstr_serverpart
+ debug $precmd duplicity cleanup --force $execstr_options $execstr_serverpart
if [ ! $test ]; then
export PASSPHRASE=$password
output=`nice -n $nicelevel \
su -c \
- $precmd duplicity cleanup $execstr_options $execstr_serverpart 21`
+ $precmd duplicity cleanup --force $execstr_options $execstr_serverpart 21`
exit_code=$?
if [ $exit_code -eq 0 ]; then
debug $output
@@ -225,12 +240,12 @@
# remove-older-than
if [ $keep != yes ]; then
if [ $duplicity_major -ge 0 -a $duplicity_minor -ge 4 -a $duplicity_sub -ge 4 ]; then
- debug $precmd duplicity remove-older-than $keep $execstr_options $execstr_serverpart
+ debug $precmd duplicity remove-older-than $keep --force $execstr_options