r215@um: micah | 2005-12-27 09:40:23 -0500
[matthijs/upstream/backupninja.git] / handlers / mysql
index 49f80a8545816fedb760fe1d148745f5bc8526eb..0f5cd5c470e9312b994b782a1c1e67f29b1c493b 100644 (file)
@@ -52,8 +52,25 @@ if [ "$user" == "" ]; then
        user=root;
 else
        userset=true;
-       userhome=`getent passwd "$user" | awk -F: '{print $6}'`
-       [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
+       if [ $usevserver ]
+       then
+           userhome=`$VSERVER $vsname exec getent passwd "$user" | awk -F: '{print $6}'`
+           if [ $? -eq 2 ]
+           then
+               fatal "User $user not found in /etc/passwd"
+           fi
+           userhome="$vroot$userhome"
+           info "User home set to: $userhome"
+           [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
+       else
+           userhome=`getent passwd "$user" | awk -F: '{print $6}'`
+           if [ $? -eq 2 ]
+           then
+               fatal "User $user not found in /etc/passwd"
+           fi
+                   info "User home set to: $userhome"
+           [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
+       fi
 fi
 
 ## Prepare ignore part of the command
@@ -64,8 +81,8 @@ for i in $ignores; do
        ignore="$ignore --ignore-table=$i"
 done
        
-# create backup dirs, vroot variable will be empty if no vsname was specified
-# and will proceed to operate on the host
+# create backup dirs, $vroot will be empty if no vsname was specified
+# and we will instead proceed to operate on the host
 [ -d $vroot$backupdir ] || mkdir -p $vroot$backupdir
 [ -d $vroot$backupdir ] || fatal "Backup directory '$vroot$backupdir'"
 hotdir="$backupdir/hotcopy"