From 88e199e94e2f8f93b06eb658ef8fef3ff00ed20e Mon Sep 17 00:00:00 2001 From: Athanasius Date: Sat, 10 Jul 2021 12:26:44 +0000 Subject: [PATCH] scripts/mysql dumps: Add data dump script --- scripts/eddn-dump-db-data | 53 +++++++++++++++++++++++++++++++++++++ scripts/eddn-dump-db-schema | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100755 scripts/eddn-dump-db-data diff --git a/scripts/eddn-dump-db-data b/scripts/eddn-dump-db-data new file mode 100755 index 0000000..129a892 --- /dev/null +++ b/scripts/eddn-dump-db-data @@ -0,0 +1,53 @@ +#!/bin/bash +# Add ' -x' above to debug +# +# Produce a dump of the eddn database data + +########################################################################### +# Exit codes +########################################################################### +EXIT_CONFIG_MISSING=1 +EXIT_CL_ARGS=3 +########################################################################### + +########################################################################### +# Functions +########################################################################### +################################################## +# Print usage information +################################################## +usage() { + echo "Usage: $(basename $0) ( live | beta | dev )" >&2 +} +################################################## +########################################################################### + +if [ -z "${1}" ]; +then + usage + echo "No EDDN environment specified." >&2 + exit ${EXIT_CL_ARGS} +fi +EDDN_ENV="${1}" + +# Bring in some common configuration +if [ ! -f "${HOME}/.local/bin/eddn_${EDDN_ENV}_config" ]; +then + echo "eddn_${EDDN_ENV}_config is missing from $(pwd)" >&2 + exit ${EXIT_CONFIG_MISSING} +fi +. "${HOME}/.local/bin/eddn_${EDDN_ENV}_config" + + +EDDN_HOME="${HOME}/${EDDN_ENV}" +BACKUPS_DIR="${EDDN_HOME}/backups" + +mkdir -p ${BACKUPS_DIR} || exit 1 + +DATETIME=$(date --iso-8601=seconds) + +# This relies on ~/.my.cnf containing the password +mysqldump -u eddn --skip-lock-tables --single-transaction --databases eddn_${EDDN_ENV} | nice gzip -9 -c - > "${BACKUPS_DIR}/eddn_${EDDN_ENV}-data-${DATETIME}.sql.gz" + +# vim: tabstop=2 shiftwidth=2 textwidth=0 wrapmargin=0 expandtab + diff --git a/scripts/eddn-dump-db-schema b/scripts/eddn-dump-db-schema index 31e750b..730c27a 100755 --- a/scripts/eddn-dump-db-schema +++ b/scripts/eddn-dump-db-schema @@ -46,7 +46,7 @@ mkdir -p ${BACKUPS_DIR} || exit 1 DATETIME=$(date --iso-8601=seconds) -# This relies on ~root/.my.cnf containing the password +# This relies on ~/.my.cnf containing the password mysqldump -u eddn --no-data --skip-lock-tables --databases eddn_${EDDN_ENV} > "${BACKUPS_DIR}/schema-${EDDN_ENV}-${DATETIME}.sql" # vim: tabstop=2 shiftwidth=2 textwidth=0 wrapmargin=0 expandtab