summaryrefslogtreecommitdiff
path: root/deps/drassil/mysql-tools/mysql-dump
diff options
context:
space:
mode:
Diffstat (limited to 'deps/drassil/mysql-tools/mysql-dump')
-rw-r--r--deps/drassil/mysql-tools/mysql-dump119
1 files changed, 119 insertions, 0 deletions
diff --git a/deps/drassil/mysql-tools/mysql-dump b/deps/drassil/mysql-tools/mysql-dump
new file mode 100644
index 0000000000..33e5e35aca
--- /dev/null
+++ b/deps/drassil/mysql-tools/mysql-dump
@@ -0,0 +1,119 @@
+#!/bin/bash
+#
+# * Copyright (C) 2007 - 2015 Hyperweb2 All rights reserved.
+# * GNU General Public License version 3; see www.hyperweb2.com/terms/
+
+echo "starting dump process.."
+# check config from same folder and include only if exists
+CONF_FILE=$MT_DIR"/mysql-config"
+if [ -f "$CONF_FILE" ]; then
+ source "$CONF_FILE"
+fi;
+
+#overwrite configs if file exists and variables are defined
+if [ ! -z "$4" ]; then
+ if [ -e "$4" ]; then
+ source "$4"
+ else # if 4th parameter is not a file, then try to eval
+ eval "$4"
+ fi;
+fi;
+
+source $MT_DIR"/shared-def"
+
+if [ ! -z "$1" ]; then
+ MYSQL_DB=$1;
+fi
+
+#change group instead mod
+#group=`ls -l tables | awk '{print $4}'`
+#if [ $group != "mysql" ]; then
+# if (($CHMODE != 0)); then
+# sudo chgrp -v mysql $TPATH
+# fi
+#fi
+
+#change permissions for other users
+if [ ! -z $TPATH ]; then
+ if [ ! -d "$TPATH" ]; then
+ #create the path recursively
+ echo "creating dir: $TPATH.."
+ mkdir -p "$TPATH"
+ fi
+
+ if (($CHMODE != 0)); then
+ echo "changing permissions.."
+ sudo chmod -v o=rwx $TPATH
+ fi
+
+ #clean old tables
+ if (($CLEANFOLDER != 0)); then
+ rm -rvf $TPATH/*
+ fi
+
+ if [ ! -z "$2" ]; then
+ #if tables are specified in parameters then..
+ arr=$(echo $2 | tr "," "\n")
+
+ for T in $arr
+ do
+ echo "exporting "$T;
+ if (($TEXTDUMPS != 1)); then
+ FILE="$TPATH/$T.sql"
+ if [ -f $FILE ]; then
+ rm -f $FILE
+ fi
+
+ if (($PARSEDUMP != 0)); then
+ echo "Parsing enabled";
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' '$T' | $DUMPPARSER > $FILE"
+ else
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' '$T' -r $FILE"
+ fi
+ else
+ echo $(eval "$MYSQLDUMP$OPTS $DUMPOPTS --tab=$TPATH/ '$MYSQL_DB' '$T'")
+ fi
+ done
+
+ else
+ #else get all tables from selected db
+ CMD="$MYSQL$OPTS -N -B -e 'show tables from \`$MYSQL_DB\`'"
+ echo "command: "$CMD
+ for T in $(eval $CMD)
+ do
+ if (($TEXTDUMPS != 1)); then
+ echo "exporting "$T;
+ FILE="$TPATH/$T.sql"
+ if [ -f $FILE ]; then
+ rm -f $FILE
+ fi
+
+ if (($PARSEDUMP != 0)); then
+ echo "Parsing enabled on file "$FILE;
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' '$T' | $DUMPPARSER > $FILE"
+ else
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' '$T' -r $FILE"
+ fi
+ else
+ echo "exporting "$MYSQL_DB" tables: "$T;
+ echo $(eval "$MYSQLDUMP$OPTS $DUMPOPTS --tab=$TPATH/ '$MYSQL_DB' '$T'")
+ fi
+ done;
+
+ fi
+fi
+
+if [ ! -z "$3" ]; then FULL=$3; fi
+# export full file if option is enabled
+if (($FULL != 0)); then
+ echo 'exporting FULL '$MYSQL_DB' in single file';
+ rm -f $FPATH
+
+ if (($PARSEDUMP != 0)); then
+ echo "Parsing enabled";
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' | $DUMPPARSER > $FPATH"
+ else
+ eval "$MYSQLDUMP$OPTS $DUMPOPTS '$MYSQL_DB' -r $FPATH"
+ fi
+fi
+