Add test scripts for database dumps. Flesh out dump functions.
parent
6d96fb5edb
commit
15dc0cddcf
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue