handlers/rdiff: make use of new lib/vserver functionality
[matthijs/upstream/backupninja.git] / handlers / rdiff
index 209606d71de6f22d2445f746ad1e1344f6efe43e..dc985019fa6df2ae0b44420199f13aa44cb9cdaf 100644 (file)
@@ -93,15 +93,10 @@ 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
@@ -119,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="/" ;;
@@ -165,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