handlers/rdiff: make use of new lib/vserver functionality
[matthijs/upstream/backupninja.git] / handlers / rdiff
index e2ab5e8ac9dabfedd3fea44951a2f99977423d58..dc985019fa6df2ae0b44420199f13aa44cb9cdaf 100644 (file)
@@ -94,7 +94,7 @@ check_consistency "destination" "$type" "$user" "$host"
 
 # See if vservers are configured
 local usevserver=no
-if [ $vservers_are_available = yes ]; then
+if [ $vservers_are_available = yes -a -n "$vsinclude" ]; then
    info "vserver method enabled"
    usevserver=yes
 fi
@@ -114,7 +114,6 @@ fi
 
 # source specific checks
 [ "$include" != "" -o "$vsinclude" != "" ] || fatal "No source includes specified"
-#TODO should I test for vsinclude if usevservers=yes?
 case $sourcetype in 
        remote ) execstr_sourcepart="$sourceuser@$sourcehost::/" ;;
        local  ) execstr_sourcepart="/" ;;
@@ -160,12 +159,12 @@ 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' "
@@ -173,12 +172,12 @@ done
 
 # vsinclude
 if [ $usevserver = yes ]; 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
+   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