X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Frdiff;h=dc985019fa6df2ae0b44420199f13aa44cb9cdaf;hb=435e859a25ebf789c38d53431106435fc83b53bc;hp=9de8650e1a289414d659bddc9036b1b9a36ec7b5;hpb=a116f435ce8b97fdbea9fd25f91517b1fb850881;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/handlers/rdiff b/handlers/rdiff index 9de8650..dc98501 100644 --- a/handlers/rdiff +++ b/handlers/rdiff @@ -1,3 +1,4 @@ +# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*- # # rdiff-backup handler script for backupninja # requires rdiff-backup @@ -92,19 +93,14 @@ check_consistency "destination" "$type" "$user" "$host" ### CHECK CONFIG ### # See if vservers are configured -if [ "$vservers" = "yes" ] -then - if [ ! -d $VROOTDIR ] - then - fatal "vservers enabled, but $VROOTDIR does not exist!" - else - info "vserver method enabled" - usevserver=1 - fi +local usevserver=no +if [ $vservers_are_available = yes -a -n "$vsinclude" ]; then + info "vserver method enabled" + usevserver=yes fi # check the connection at the source and destination -if [ "$testconnect" == "yes" -o $test ]; then +if [ "$testconnect" = "yes" ] || [ "${test}" -eq 1 ]; then test_connection $sourceuser $sourcehost test_connection $destuser $desthost fi @@ -118,7 +114,6 @@ fi # source specific checks [ "$include" != "" -o "$vsinclude" != "" ] || fatal "No source includes specified" -#TODO should I test for vsinclude if usevservers=1? case $sourcetype in remote ) execstr_sourcepart="$sourceuser@$sourcehost::/" ;; local ) execstr_sourcepart="/" ;; @@ -164,25 +159,25 @@ execstr="$RDIFFBACKUP $options --print-statistics " # TODO: order the includes and excludes # excludes -for i in $exclude; do +for i in "$exclude"; do str="${i//__star__/*}" execstr="${execstr}--exclude '$str' " done # includes -for i in $include; do +for i in "$include"; do [ "$i" != "/" ] || fatal "Sorry, you cannot use 'include = /'" str="${i//__star__/*}" execstr="${execstr}--include '$str' " done # vsinclude -if [ $usevserver ]; then - for vserver in `ls $VROOTDIR|grep -v lost+found`; do - for vi in $vsinclude; do - str="${vi//__star__/*}" - execstr="${execstr}--include '$VROOTDIR/$vserver$str' " - done - done +if [ $usevserver = yes ]; then + for vserver in $found_vservers; do + for vi in "$vsinclude"; do + str="${vi//__star__/*}" + execstr="${execstr}--include '$VROOTDIR/$vserver$str' " + done + done fi # exclude everything else