X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fbackupninja.git;a=blobdiff_plain;f=handlers%2Fdup.in;h=54b77097ed5899f5530d0990dbdc1c21f0dbd31d;hp=cae99097e814b764cacdb20d3ebfa6acb5fa2f46;hb=f45803230a839de092122f6843422097deff4eaa;hpb=f0caa9cc1bc25a9944ceb82d33a116e14bee4632 diff --git a/handlers/dup.in b/handlers/dup.in index cae9909..54b7709 100644 --- a/handlers/dup.in +++ b/handlers/dup.in @@ -1,4 +1,5 @@ # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- +# vim: set filetype=sh sw=3 sts=3 expandtab autoindent: # # duplicity script for backupninja # requires duplicity @@ -35,7 +36,7 @@ destdir=${destdir%/} ### SANITY CHECKS ############################################################## [ -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 "$include" -o -n "$vsinclude" ] || fatal "No source includes specified" [ -n "$password" ] || fatal "The password option must be set." ### VServers @@ -66,9 +67,9 @@ if [ "$testconnect" == "yes" ]; then 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." + fatal "Can't connect to $desthost as $destuser." else - debug "Connected to $desthost as $destuser successfully" + debug "Connected to $desthost as $destuser successfully" fi fi fi @@ -105,7 +106,10 @@ duplicity_sub="`echo $duplicity_version | @AWK@ -F '.' '{print $3}'`" # --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 @@ -149,7 +153,7 @@ fi # If incremental==no, force a full backup anyway. if [ "$incremental" == "no" ]; then # before 0.4.4, full was an option and not a command - if [ "$duplicity_major" -le 0 -a "$duplicity_minor" -le 4 -a "$duplicity_sub" -lt 4 ]; then + if [ "$duplicity_major" -le 0 -a "$duplicity_minor" -le 4 -a "$duplicity_sub" -lt 4 ]; then execstr_options="${execstr_options} --full" else execstr_command="full" @@ -163,6 +167,7 @@ if [ -n "$tmpdir" ]; then info "Temporary directory ($tmpdir) does not exist, creating it." mkdir -p "$tmpdir" [ $? -eq 0 ] || fatal "Could not create temporary directory ($tmpdir)." + chmod 0700 "$tmpdir" fi info "Using $tmpdir as TMPDIR" precmd="${precmd}TMPDIR=$tmpdir " @@ -200,9 +205,9 @@ done if [ $usevserver = yes ]; then for vserver in $vsnames; do for vi in $vsinclude; do - str="${vi//__star__/*}" - str="$VROOTDIR/$vserver$str" - execstr_source="${execstr_source} --include '$str'" + str="${vi//__star__/*}" + str="$VROOTDIR/$vserver$str" + execstr_source="${execstr_source} --include '$str'" done done fi @@ -217,19 +222,19 @@ execstr_source=${execstr_source//\\*/\\\\\\*} # 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 2>&1"` + "$precmd duplicity cleanup --force $execstr_options $execstr_serverpart 2>&1"` exit_code=$? if [ $exit_code -eq 0 ]; then - debug $output - info "Duplicity cleanup finished successfully." + debug $output + info "Duplicity cleanup finished successfully." else - debug $output - warning "Duplicity cleanup failed." + debug $output + warning "Duplicity cleanup failed." fi fi fi @@ -237,20 +242,20 @@ fi # 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 $execstr_serverpart" if [ ! $test ]; then export PASSPHRASE=$password - output=`nice -n $nicelevel \ + output=`nice -n $nicelevel \ su -c \ - "$precmd duplicity remove-older-than $keep $execstr_options $execstr_serverpart 2>&1"` - exit_code=$? - if [ $exit_code -eq 0 ]; then - debug $output - info "Duplicity remove-older-than finished successfully." - else - debug $output - warning "Duplicity remove-older-than failed." - fi + "$precmd duplicity remove-older-than $keep --force $execstr_options $execstr_serverpart 2>&1"` + exit_code=$? + if [ $exit_code -eq 0 ]; then + debug $output + info "Duplicity remove-older-than finished successfully." + else + debug $output + warning "Duplicity remove-older-than failed." + fi fi fi fi