Skip to content

Instantly share code, notes, and snippets.

@kthalmann
Last active March 20, 2019 17:45
Show Gist options
  • Save kthalmann/fe07aa5c10c62cb3eff33b2a8db8c88f to your computer and use it in GitHub Desktop.
Save kthalmann/fe07aa5c10c62cb3eff33b2a8db8c88f to your computer and use it in GitHub Desktop.
Script for dumping database. Can easily exclude multiple tables
#!/bin/bash
# execute with bash (e.g. $ bash mysqldump_script.sh)
PASSWORD=XXXXXX
HOST=XXXXXX
USER=XXXXXX
DATABASE=databasename
TODAY="$(date +'%d-%m-%Y')"
DB_FILE="dump_$TODAY.sql"
EXCLUDED_TABLES=(
sys_log
sys_history
)
IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
IGNORED_TABLES_STRING+=" --ignore-table=${DATABASE}.${TABLE}"
done
echo "Dump DB & compress"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --quick --lock-tables=false ${DATABASE} ${IGNORED_TABLES_STRING} | gzip -c > ${DB_FILE}.gz
#echo "Dump DB without compressing"
#mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --quick --lock-tables=false ${DATABASE} ${IGNORED_TABLES_STRING} > ${DB_FILE}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment