r210@um: micah | 2005-12-27 08:38:07 -0500
[matthijs/upstream/backupninja.git] / handlers / mysql
index 57b9ecfe52b2fb695279f8816ed4c77c83d5c080..cd2d491f0bb1cc27deb0ef5399d3c3af8ad9bce0 100644 (file)
@@ -22,7 +22,7 @@ if [ "$user" == "" ]; then
        user=root;
 else
        userset=true;
-       userhome=`grep "^$user:" /etc/passwd | awk -F: '{print $6}'`
+       userhome=`getent passwd "$user" | awk -F: '{print $6}'`
        [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
 fi
 
@@ -51,13 +51,16 @@ fi
 # If needed, make sure that the specified vserver exists and is running.
 if [ $usevserver ]
 then
-       info "examining vserver '$vsname'"
+       info "Examining vserver '$vsname'"
        # does it exist ?
        vroot="$VROOTDIR/$vsname"
        [ -d $vroot ] || fatal "vserver '$vsname' does not exist at '$vroot'"
        # is it running ?
-       running=`$VSERVERINFO $vsname RUNNING`
-       [ $running = 1 ] || fatal "vserver $vsname is not running."
+       $VSERVERINFO -q $vsname RUNNING
+       if [ $? -ne 0 ]
+       then
+               fatal "vserver $vsname is not running."
+       fi
 fi
        
 # create backup dirs, the vroot variable will be empty if no vsname was specified
@@ -95,7 +98,7 @@ fi
 
 defaultsfile=""
 if [ "$dbusername" != "" -a "$dbpassword" != "" ]; then
-       home=`grep '^root:' /etc/passwd | awk -F: '{print $6}'`
+       home=`getent passwd "root" | awk -F: '{print $6}'`
        [ -d $home ] || fatal "Can't find root's home directory ($home)."
        mycnf="$home/.my.cnf"
        if [ -f $mycnf ]; then