Add test scripts for database dumps. Flesh out dump functions.

dev
Bryan 2020-09-20 13:26:06 -06:00
parent 6d96fb5edb
commit 15dc0cddcf
4 changed files with 51 additions and 14 deletions

View File

@ -36,11 +36,11 @@ save_package_list () {
return 2
fi
if [ ! -d dirname "${PACKAGE_LIST_FILE}" ]; then
mkdir -p dirname "${PACKAGE_LIST_FILE}"
if [ ! -d "${PACKAGE_LIST_DIRECTORY}" ]; then
mkdir -p "${PACKAGE_LIST_DIRECTORY}"
fi
apt-mark showmanual > ${PACKAGE_LIST_FILE}
apt-mark showmanual > "${PACKAGE_LIST_DIRECTORY}package-list.txt"
}
dump_sql () {
@ -48,11 +48,13 @@ dump_sql () {
return 2
fi
if [ ! -d dirname "${MYSQL_DUMP_FILE}" ]
then mkdir -p dirname "{$MYSQL_DUMP_FILE}"
if [ ! -d "${MYSQL_DUMP_DIRECTORY}" ]
then mkdir -p "${MYSQL_DUMP_DIRECTORY}"
fi
for DB in $(mysql -u 'root' -e 'show databases' -s --skip-column-names); do
mysqldump --single-transaction -u 'root' "${DB}" > "${MYSQL_DUMP_DIRECTORY}${DB}.sql.bak";
done
}
dump_mongo () {
@ -60,9 +62,11 @@ dump_mongo () {
return 2
fi
if [ ! -d dirname "${MONGODB_DUMP_FILE}" ]
then mkdir -p dirname "{$MONGODB_DUMP_FILE}"
if [ ! -d "${MONGODB_DUMP_DIRECTORY}" ]
then mkdir -p "${MONGODB_DUMP_DIRECTORY}/mongodump"
fi
mongodump --out "${MONGODB_DUMP_DIRECTORY}/mongodump"
}
@ -272,6 +276,10 @@ mkdir -p "${LOCKDIR}"
borg_init
elif [[ ${MODE} == "backup" ]]; then
trap 'exit_backup $?' ERR INT TERM
save_package_list
dump_mongo
dump_sql
borg_backup
borg_prune
exit_backup 0

View File

@ -7,12 +7,9 @@ BORG_REPO="<user>@<reposerver>:/srv/borg/${SYSTEM_NAME}"
#BORG_REPO="ssh://<user>@<reposerver>:<ssh_port>/srv/borg/${SYSTEM_NAME}"
BORG_PASSPHRASE="longandcomplexpassphrase"
PACKAGE_LIST_FILE="/srv/dumps/package-list.txt"
MYSQL_DUMP_FILE="/srv/dumps/mysql-dump.sql.bak"
MONGODB_DUMP_FILE="/srv/dumps/mongodb-dump.bak"
MYSQL_ROOT_PASSWORD=""
MONGODB_ROOT_PASSWORD=""
PACKAGE_LIST_DIRECTORY="/srv/dumps/"
MYSQL_DUMP_DIRECTORY="/srv/dumps/"
MONGODB_DUMP_DIRECTORY="/srv/dumps/"
PATHS=(
"/etc"

15
src/mongodump-test.sh Normal file
View File

@ -0,0 +1,15 @@
#! /bin/bash
dump_mongo () {
if ! which mongodump; then
return 2
fi
if [ ! -d "${MONGODB_DUMP_DIRECTORY}" ]
then mkdir -p "${MONGODB_DUMP_DIRECTORY}/mongodump"
fi
mongodump --out "${MONGODB_DUMP_DIRECTORY}/mongodump"
}
dump_mongo

17
src/mysqldump-test.sh Normal file
View File

@ -0,0 +1,17 @@
#! /bin/bash
dump_sql () {
if ! which mysqldump; then
return 2
fi
if [ ! -d "${MYSQL_DUMP_DIRECTORY}" ]
then mkdir -p "${MYSQL_DUMP_DIRECTORY}"
fi
for DB in $(mysql -u 'root' -e 'show databases' -s --skip-column-names); do
mysqldump --single-transaction -u 'root' "${DB}" > "${MYSQL_DUMP_DIRECTORY}${DB}.sql.bak";
done
}
dump_sql