mysql: Properly set the path to .my.conf when vservers are used.
[matthijs/upstream/backupninja-vserver.git] / handlers / mysql.in
index fe1e7832f32ee43c090cf5e17d6e985e040f8376..3a908f68ef669b62e6c0cb3d63eeb230a5b86199 100644 (file)
@@ -10,6 +10,7 @@ getconf nodata
 getconf dbhost localhost
 getconf hotcopy no
 getconf sqldump no
+getconf sqldumpoptions "--lock-tables --complete-insert --add-drop-table --quick --quote-names"
 getconf compress yes
 getconf vsname
 
@@ -39,6 +40,8 @@ if [ $vservers_are_available = yes ]; then
    else
       info "No vserver name specified, actions will be performed on the host."
    fi
+else
+   [ -z "$vsname" ] || warning 'vservers support disabled in backupninja.conf, vsname configuration line will be ignored'
 fi
 
 ## Prepare ignore part of the command
@@ -158,7 +161,11 @@ else
        
        debug "User home set to: $userhome"
        [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
-       defaultsfile="--defaults-extra-file=$userhome/.my.cnf"
+        if [ $usevserver = yes ]; then
+            defaultsfile="--defaults-extra-file=$vuserhome/.my.cnf"
+        else
+            defaultsfile="--defaults-extra-file=$userhome/.my.cnf"
+        fi
        debug "using $defaultsfile"
 fi
 
@@ -245,7 +252,7 @@ then
 
        for db in $databases
        do
-           DUMP_BASE="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names"
+           DUMP_BASE="$MYSQLDUMP $defaultsfile $sqldumpoptions"
 
            # Dumping structure and data
            DUMP="$DUMP_BASE $ignore $db"