Skip to content
Snippets Groups Projects
Unverified Commit c0542b35 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

FIX backup script

parent 5cbd671b
No related branches found
No related tags found
No related merge requests found
......@@ -25,8 +25,9 @@
#dump a database with all procedures, permissions, structure and data
BACKUPDIR=./backup #The directory which the dump is to be stored to. Do not change it here. Use the --backupdir=./my/dir/ option!
PRINT_HELP="--backupdir=BACKUPDIR\n\tThe directory which the dump is to be stored to. (Defaults to ./backup)"
PRINT_HELP="--backupdir=BACKUPDIR\n\tThe directory which the dump is to be stored to. (Defaults to ./backup)\n"
. .config
# load useful stuff - scans the parameters and so on...
. patches/utils/patch_header.sh
......@@ -36,12 +37,12 @@ PRINT_HELP="--backupdir=BACKUPDIR\n\tThe directory which the dump is to be store
function backup {
# parameters: login-path, database, outfile
# parameters: connection, database, outfile
if [ -e "$3" ]; then
failure "dumpfile already exists."
fi
echo -n "Dumping database $3 to $4 ... "
$CMD_MYSQL_DUMP --opt --default-character-set=utf8 --routines --login-path=$1 $2 > ${3}
echo "Dumping database $2 to $3 ... "
$CMD_MYSQL_DUMP $1 --opt --default-character-set=utf8 --routines $2 > ${3}
success
}
......@@ -56,7 +57,7 @@ function backup {
DATE=$(date -u --rfc-3339=ns | sed 's/ /T/g')
BACKUPFILE=${BACKUPDIR}/${DATABASE}.${DATE}.dump.sql
backup $LOGIN_PATH $DATABASE $BACKUPFILE
BACKUPFILE=${BACKUPDIR}/${DATABASE_NAME}.${DATE}.dump.sql
backup $MYSQL_CONNECTION $DATABASE_NAME $BACKUPFILE
......@@ -28,13 +28,13 @@ CMD_OPTIONS="options:\n\n-h, --help\n\tShow brief help.\n-l LOGIN_PATH, --login-
set -e
function _print_help() {
printf $USAGE
printf $CMD_OPTIONS
printf "$USAGE"
printf "$CMD_OPTIONS"
if [ -n "$PRINT_HELP" ]; then
printf $PRINT_HELP
printf -- "$PRINT_HELP"
fi
if [ -n "$1" ]; then
printf $1
printf "$1"
fi
}
while test $# -gt 0; do
......@@ -60,7 +60,7 @@ while test $# -gt 0; do
-u)
shift
if test $# -gt 0; then
DBUSER=$1
DATABASE_USER=$1
else
echo "no database specified"
exit 1
......@@ -68,7 +68,7 @@ while test $# -gt 0; do
shift
;;
--user*)
DBUSER=`echo $1 | sed -e 's/^[^=]*=//g'`
DATABASE_USER=`echo $1 | sed -e 's/^[^=]*=//g'`
shift
;;
-l)
......@@ -88,7 +88,7 @@ while test $# -gt 0; do
-d)
shift
if test $# -gt 0; then
DATABASE=$1
DATABASE_NAME=$1
else
echo "no database specified"
exit 1
......@@ -96,7 +96,7 @@ while test $# -gt 0; do
shift
;;
--database*)
DATABASE=`echo $1 | sed -e 's/^[^=]*=//g'`
DATABASE_NAME=`echo $1 | sed -e 's/^[^=]*=//g'`
shift
;;
--patch*)
......@@ -113,9 +113,9 @@ while test $# -gt 0; do
esac
done
if [ -z "$DATABASE" ]
if [ -z "$DATABASE_NAME" ]
then
print_help "Please specify the database."
_print_help "Please specify the database."
exit 1
fi
......@@ -124,7 +124,7 @@ then
MYSQL_CONNECTION="--login-path=$LOGIN_PATH"
else
MYSQL_CONNECTION=""
if [ "$DBUSER" ]
if [ "$DATABASE_USER" ]
then
MYSQL_CONNECTION="--user=$DBUSER"
fi
......@@ -135,7 +135,7 @@ else
fi
if [ -n "$PATCH" ]; then
echo -ne "applying patch $PATCH to $DATABASE ... "
echo -ne "applying patch $PATCH to $DATABASE_NAME ... "
fi
function success {
......@@ -155,7 +155,7 @@ function uptodate {
# @param $1: db version string, e.g. v2.0.0
# @return: 0 on success, 1 on failure
function check_version {
local version=$($CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE -B -e "Select CaosDBVersion();")
local version=$($CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE_NAME -B -e "Select CaosDBVersion();")
if [[ "$(echo $version | sed 's/^CaosDBVersion()\s//')" = "$1" ]]; then
return 0
fi
......@@ -168,13 +168,13 @@ function update_version {
}
function dump_table {
$CMD_MYSQL_DUMP $MYSQL_CONNECTION $DATABASE $1 > ${DATABASE}.${1}.${OLD_VERSION}.dump.sql
$CMD_MYSQL_DUMP $MYSQL_CONNECTION $DATABASE_NAME $1 > ${DATABASE_NAME}.${1}.${OLD_VERSION}.dump.sql
}
function mysql_execute {
set +e
$CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE -e "$1"
$CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE_NAME -e "$1"
ret=${PIPESTATUS[0]}
if [ "$ret" -ne 0 ]; then
failure "MYSQL ERROR"
......@@ -183,5 +183,5 @@ function mysql_execute {
}
function redo_table {
$CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE < ${DATABASE}.${1}.${OLD_VERSION}.dump.sql
$CMD_MYSQL $MYSQL_CONNECTION -D $DATABASE_NAME < ${DATABASE_NAME}.${1}.${OLD_VERSION}.dump.sql
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment