aboutsummaryrefslogtreecommitdiff
path: root/handlers
diff options
context:
space:
mode:
authorElijah Saxon <elijah@riseup.net>2005-09-15 18:36:23 +0000
committerElijah Saxon <elijah@riseup.net>2005-09-15 18:36:23 +0000
commit166c486601064424410d1bd9d6ee6ad6e7fefd1a (patch)
treeb051a6391c2b7a3f2b9591914cc3e4fc3df5627b /handlers
parent30348c7db8a43db5b298501c317211f5517f4661 (diff)
downloadbackupninja-166c486601064424410d1bd9d6ee6ad6e7fefd1a.tar.gz
backupninja-166c486601064424410d1bd9d6ee6ad6e7fefd1a.tar.bz2
added patch to mysql handler from Daniel.Bonniot@inria.fr
(adds ignores option)
Diffstat (limited to 'handlers')
-rw-r--r--handlers/mysql23
1 files changed, 16 insertions, 7 deletions
diff --git a/handlers/mysql b/handlers/mysql
index e5306db..57b9ecf 100644
--- a/handlers/mysql
+++ b/handlers/mysql
@@ -4,6 +4,7 @@
getconf backupdir /var/backups/mysql
getconf databases all
+getconf ignores
getconf dbhost localhost
getconf hotcopy no
getconf sqldump no
@@ -25,6 +26,14 @@ else
[ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
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
# use them or if it should just operate on the host
@@ -42,13 +51,13 @@ fi
# If needed, make sure that the specified vserver exists and is running.
if [ $usevserver ]
then
- info "examining vserver '$vsname'"
- # does it exist ?
+ 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."
+ # is it running ?
+ running=`$VSERVERINFO $vsname RUNNING`
+ [ $running = 1 ] || fatal "vserver $vsname is not running."
fi
# create backup dirs, the vroot variable will be empty if no vsname was specified
@@ -181,9 +190,9 @@ if [ "$sqldump" == "yes" ]; then
for db in $databases; do
if [ $usevserver ]
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
- 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
debug "su $user -c '$execstr'"
if [ ! $test ]; then