X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Fdup;h=59bb9bf082cd5c763cde9b6c9e7434f280c0d6c3;hp=7c8a7c6383c78c207a547d323d14fc0160a3e49e;hb=914e3c958c00a3a1de1ff32bbf36554788660449;hpb=a031bc2d53eb90b6b4255d344967ec39a9f3ea26 diff --git a/handlers/dup b/handlers/dup index 7c8a7c6..59bb9bf 100644 --- a/handlers/dup +++ b/handlers/dup @@ -53,6 +53,7 @@ else [ -z "$vsinclude" ] || warning 'vservers support disabled in backupninja.conf, vsincludes configuration lines will be ignored' fi + ### see if we can login ### if [ "$testconnect" == "yes" ]; then @@ -69,10 +70,23 @@ fi ### COMMAND-LINE MANGLING ### +# duplicity >= 0.4.2 needs --sftp-command (NB: sftp does not support the -l option) +duplicity_version="`duplicity --version | awk '{print $2}'`" +duplicity_major="`echo $duplicity_version | awk -F '.' '{print $1}'`" +duplicity_minor="`echo $duplicity_version | awk -F '.' '{print $2}'`" +duplicity_sub="`echo $duplicity_version | awk -F '.' '{print $3}'`" +if [ "$duplicity_major" -ge 0 -a "$duplicity_minor" -ge 4 -a "$duplicity_sub" -ge 2 ]; then + sftpoptions="$sshoptions" +fi + scpoptions="$sshoptions" [ "$bandwidthlimit" == 0 ] || scpoptions="$scpoptions -l $bandwidthlimit" -execstr="$options --no-print-statistics --scp-command 'scp $scpoptions' --ssh-command 'ssh $sshoptions' " +if [ -z "$sftpoptions" ]; then + execstr="$options --no-print-statistics --scp-command 'scp $scpoptions' --ssh-command 'ssh $sshoptions' " +else + execstr="$options --no-print-statistics --scp-command 'scp $scpoptions' --sftp-command 'sftp $sftpoptions' --ssh-command 'ssh $sshoptions' " +fi # deal with symmetric or asymmetric (public/private key pair) encryption if [ -n "$encryptkey" ]; then