r219@um: micah | 2005-12-27 10:32:24 -0500
authormicah <micah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 17:37:44 +0000 (17:37 +0000)
committermicah <micah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 17:37:44 +0000 (17:37 +0000)
 Defaults file is now set correctly for vservers
 dbhost is now added to the .my.cnf

git-svn-id: http://code.autistici.org/svn/backupninja/trunk@280 758a04ac-41e6-0310-8a23-8373a73cc35d

handlers/mysql

index cb7010435a3dbfd98a7e0eaf834a0b297e5e1207..408399d2e53d44b92bc249c054f232e93e494780 100644 (file)
@@ -115,19 +115,21 @@ fi
 # specify the password on the command line.
 
 defaultsfile=""
+
 if [ "$dbusername" != "" -a "$dbpassword" != "" ]
 then
     if [ $usevserver ]
     then
-       home=`$VSERVER $vsname exec getent passwd "root" | awk -F: '{print $6}'`
-       home="$vroot$home"
-       debug "Home set to: $home"
+       vhome=`$VSERVER $vsname exec getent passwd "root" | awk -F: '{print $6}'`
+       home="$vroot$vhome"
     else
        home=`getent passwd "root" | awk -F: '{print $6}'`
-       debug "Home set to: $home"
     fi
+
     [ -d $home ] || fatal "Can't find root's home directory ($home)."
+    
     mycnf="$home/.my.cnf"
+    
     if [ -f $mycnf ]
     then
        # rename temporarily
@@ -135,27 +137,37 @@ then
        debug "mv $mycnf $tmpcnf"
        mv $mycnf $tmpcnf
     fi
+    
     oldmask=`umask`
     umask 077
     cat > $mycnf <<EOF
 # auto generated backupninja mysql conf
 [mysql]
+host=$dbhost
 user=$dbusername
 password="$dbpassword"
 
 [mysqldump]
+host=$dbhost
 user=$dbusername
 password="$dbpassword"
 
 [mysqlhotcopy]
+host=$dbhost
 user=$dbusername
 password="$dbpassword"
 EOF
        umask $oldmask
-       defaultsfile="--defaults-file=$mycnf"
+       if [ $usevserver ] 
+       then
+           defaultsfile="--defaults-file=$vhome/.my.cnf"
+       else
+           defaultsfile="--defaults-file=$mycnf"
+       fi
+       
+# if user is set, don't use $mycnf     
 elif [ "$userset" == "false" ]; then
-       # if user is set, don't use $mycnf
-       defaultsfile="--defaults-file=$configfile"
+               defaultsfile="--defaults-file=$configfile"
 fi
 
 #######################################################################
@@ -223,11 +235,11 @@ then
     then
        if [ $usevserver ]
        then
-               databases=`echo 'show databases' | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database`
-               if [ $? -ne 0 ]
-               then
-                   fatal "Something unexpected happened, the defaults file may have gone missing or is corrupt"
-               fi
+           databases=`echo 'show databases' | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database`
+           if [ $? -ne 0 ]
+           then
+               fatal "Something unexpected happened, the defaults file may have gone missing or is corrupt"
+           fi
        else
                databases=`echo 'show databases' | su $user -c "$MYSQL $defaultsfile" | grep -v Database`
                if [ $? -ne 0 ]