X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=handlers%2Fmysql;h=20905d56232010748dabff102602b25e273e3db0;hb=065c9aa959922aaad5d9453335cd3fc5c3495bcd;hp=6fd50562998ed648ea91cfbc2e105e6befecc0fb;hpb=3b59f10fd327bcfe92285db302ab52e23c407eca;p=matthijs%2Fupstream%2Fbackupninja.git diff --git a/handlers/mysql b/handlers/mysql index 6fd5056..20905d5 100644 --- a/handlers/mysql +++ b/handlers/mysql @@ -35,7 +35,7 @@ fi # If needed, make sure that the specified vserver exists and is running. if [ $usevserver ] then - info "Examining vserver '$vsname'" + debug "Examining vserver '$vsname'" # does it exist ? vroot="$VROOTDIR/$vsname" [ -d $vroot ] || fatal "vserver '$vsname' does not exist at '$vroot'" @@ -60,7 +60,7 @@ else fatal "User $user not found in /etc/passwd" fi userhome="$vroot$userhome" - info "User home set to: $userhome" + debug "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}'` @@ -68,7 +68,7 @@ else then fatal "User $user not found in /etc/passwd" fi - info "User home set to: $userhome" + debug "User home set to: $userhome" [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf" fi fi @@ -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" - info "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}'` - info "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 <