Add test scripts for database dumps. Flesh out dump functions.
parent
6d96fb5edb
commit
15dc0cddcf
|
|
@ -36,11 +36,11 @@ save_package_list () {
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d dirname "${PACKAGE_LIST_FILE}" ]; then
|
if [ ! -d "${PACKAGE_LIST_DIRECTORY}" ]; then
|
||||||
mkdir -p dirname "${PACKAGE_LIST_FILE}"
|
mkdir -p "${PACKAGE_LIST_DIRECTORY}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
apt-mark showmanual > ${PACKAGE_LIST_FILE}
|
apt-mark showmanual > "${PACKAGE_LIST_DIRECTORY}package-list.txt"
|
||||||
}
|
}
|
||||||
|
|
||||||
dump_sql () {
|
dump_sql () {
|
||||||
|
|
@ -48,11 +48,13 @@ dump_sql () {
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d dirname "${MYSQL_DUMP_FILE}" ]
|
if [ ! -d "${MYSQL_DUMP_DIRECTORY}" ]
|
||||||
then mkdir -p dirname "{$MYSQL_DUMP_FILE}"
|
then mkdir -p "${MYSQL_DUMP_DIRECTORY}"
|
||||||
fi
|
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 () {
|
dump_mongo () {
|
||||||
|
|
@ -60,9 +62,11 @@ dump_mongo () {
|
||||||
return 2
|
return 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d dirname "${MONGODB_DUMP_FILE}" ]
|
if [ ! -d "${MONGODB_DUMP_DIRECTORY}" ]
|
||||||
then mkdir -p dirname "{$MONGODB_DUMP_FILE}"
|
then mkdir -p "${MONGODB_DUMP_DIRECTORY}/mongodump"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mongodump --out "${MONGODB_DUMP_DIRECTORY}/mongodump"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -272,6 +276,10 @@ mkdir -p "${LOCKDIR}"
|
||||||
borg_init
|
borg_init
|
||||||
elif [[ ${MODE} == "backup" ]]; then
|
elif [[ ${MODE} == "backup" ]]; then
|
||||||
trap 'exit_backup $?' ERR INT TERM
|
trap 'exit_backup $?' ERR INT TERM
|
||||||
|
save_package_list
|
||||||
|
dump_mongo
|
||||||
|
dump_sql
|
||||||
|
|
||||||
borg_backup
|
borg_backup
|
||||||
borg_prune
|
borg_prune
|
||||||
exit_backup 0
|
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_REPO="ssh://<user>@<reposerver>:<ssh_port>/srv/borg/${SYSTEM_NAME}"
|
||||||
BORG_PASSPHRASE="longandcomplexpassphrase"
|
BORG_PASSPHRASE="longandcomplexpassphrase"
|
||||||
|
|
||||||
PACKAGE_LIST_FILE="/srv/dumps/package-list.txt"
|
PACKAGE_LIST_DIRECTORY="/srv/dumps/"
|
||||||
MYSQL_DUMP_FILE="/srv/dumps/mysql-dump.sql.bak"
|
MYSQL_DUMP_DIRECTORY="/srv/dumps/"
|
||||||
MONGODB_DUMP_FILE="/srv/dumps/mongodb-dump.bak"
|
MONGODB_DUMP_DIRECTORY="/srv/dumps/"
|
||||||
|
|
||||||
MYSQL_ROOT_PASSWORD=""
|
|
||||||
MONGODB_ROOT_PASSWORD=""
|
|
||||||
|
|
||||||
PATHS=(
|
PATHS=(
|
||||||
"/etc"
|
"/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