Skip to content
Snippets Groups Projects
Commit 166c4866 authored by elijah's avatar elijah
Browse files

added patch to mysql handler from Daniel.Bonniot@inria.fr

(adds ignores option)
parent 30348c7d
No related branches found
No related tags found
No related merge requests found
...@@ -29,6 +29,8 @@ version 0.8 -- ...@@ -29,6 +29,8 @@ version 0.8 --
rdiff handler now does not require 'label' rdiff handler now does not require 'label'
changes to mysql and svn handlers' vservers support changes to mysql and svn handlers' vservers support
these handlers now check if the source vserver is running these handlers now check if the source vserver is running
added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
version 0.7 -- July 26 2005 version 0.7 -- July 26 2005
added ninjahelper: a dialog based wizard for creating backupninja configs. added ninjahelper: a dialog based wizard for creating backupninja configs.
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
getconf backupdir /var/backups/mysql getconf backupdir /var/backups/mysql
getconf databases all getconf databases all
getconf ignores
getconf dbhost localhost getconf dbhost localhost
getconf hotcopy no getconf hotcopy no
getconf sqldump no getconf sqldump no
...@@ -25,6 +26,14 @@ else ...@@ -25,6 +26,14 @@ else
[ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf" [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
fi fi
## Prepare ignore part of the command
## This only works for mysqldump at the moment
ignore=''
for i in $ignores; do
ignore="$ignore --ignore-table=$i"
done
# If vservers are configured, decide if the handler should # If vservers are configured, decide if the handler should
# use them or if it should just operate on the host # use them or if it should just operate on the host
...@@ -42,13 +51,13 @@ fi ...@@ -42,13 +51,13 @@ fi
# If needed, make sure that the specified vserver exists and is running. # If needed, make sure that the specified vserver exists and is running.
if [ $usevserver ] if [ $usevserver ]
then then
info "examining vserver '$vsname'" info "examining vserver '$vsname'"
# does it exist ? # does it exist ?
vroot="$VROOTDIR/$vsname" vroot="$VROOTDIR/$vsname"
[ -d $vroot ] || fatal "vserver '$vsname' does not exist at '$vroot'" [ -d $vroot ] || fatal "vserver '$vsname' does not exist at '$vroot'"
# is it running ? # is it running ?
running=`$VSERVERINFO $vsname RUNNING` running=`$VSERVERINFO $vsname RUNNING`
[ $running = 1 ] || fatal "vserver $vsname is not running." [ $running = 1 ] || fatal "vserver $vsname is not running."
fi fi
# create backup dirs, the vroot variable will be empty if no vsname was specified # create backup dirs, the vroot variable will be empty if no vsname was specified
...@@ -181,9 +190,9 @@ if [ "$sqldump" == "yes" ]; then ...@@ -181,9 +190,9 @@ if [ "$sqldump" == "yes" ]; then
for db in $databases; do for db in $databases; do
if [ $usevserver ] if [ $usevserver ]
then then
execstr="$VSERVER $vsname exec $MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $db > $vroot$dumpdir/${db}.sql" execstr="$VSERVER $vsname exec $MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $vroot$dumpdir/${db}.sql"
else else
execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $db > $dumpdir/${db}.sql" execstr="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names $ignore $db > $dumpdir/${db}.sql"
fi fi
debug "su $user -c '$execstr'" debug "su $user -c '$execstr'"
if [ ! $test ]; then if [ ! $test ]; then
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment