diff --git a/utils/backup.sh b/utils/backup.sh index 7531a6add07f716f6fc3be6210fa5b499c632d31..92a20c816832873e4634ddf97d9cc1b17a85e495 100755 --- a/utils/backup.sh +++ b/utils/backup.sh @@ -29,11 +29,10 @@ if [ -z "$UTILSPATH" ]; then UTILSPATH="$(realpath $(dirname $0))" export UTILSPATH fi + # The directory which the dump is to be stored to. Do not change it here. Use -# the --backupdir=./my/dir/ option or an environment variable instead. +# the the environment variable instead. BACKUPDIR="${BACKUPDIR:-../backup}" -PRINT_HELP="--backupdir=BACKUPDIR\n\tThe directory which the dump is to be stored to. (Defaults to ./backup,\n\tcan also be set as an environment variable.)\n" - # Load settings from .config and defaults ##################################### . $UTILSPATH/load_settings.sh @@ -42,31 +41,23 @@ PRINT_HELP="--backupdir=BACKUPDIR\n\tThe directory which the dump is to be store . $UTILSPATH/helpers.sh function backup() { - NARG_NAME="$1" - NARG_FILE="$2" - - shift 2 - # parameters: connection, database, outfile - if [ -e "$NARG_FILE" ]; then - failure "dumpfile already exists." - fi - echo "Dumping database $NARG_NAME to $NARG_FILE ... " - $MYSQLDUMP_CMD $(get_mysql_args_nodb) $* --opt --default-character-set=utf8 --routines \ - "$NARG_NAME" > "$NARG_FILE" - - success -} + database="$1" + backupdir="$2" + # Assert backup dir + mkdir -p "$backupdir" + datastring=$(date -u --rfc-3339=ns | sed 's/ /T/g') + backupfile=${BACKUPDIR}/${DATABASE_NAME}.${datastring}.dump.sql + if [ -e "$backupfile" ]; then + failure "dumpfile already exists." + fi -## test if dump file exists -#touch dumpfile.tmp -#backup 0 1 2 "dumpfile.tmp" -#rm dumpfile.tmp + echo "Dumping database $database to $backupfile ... " + $MYSQLDUMP_CMD $(get_mysql_args_nodb) --opt --default-character-set=utf8\ + --routines "$database" > "$backupfile" -# Assert backup dir -mkdir -p "$BACKUPDIR" + success +} -DATE=$(date -u --rfc-3339=ns | sed 's/ /T/g') -BACKUPFILE=${BACKUPDIR}/${DATABASE_NAME}.${DATE}.dump.sql -backup $DATABASE_NAME $BACKUPFILE +backup $DATABASE_NAME $BACKUPDIR