-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackup_script_docker.sh
35 lines (28 loc) · 1000 Bytes
/
backup_script_docker.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
if [ -z "$1" ]; then
echo "Database not specified. Usage: $0 <db_name>"
exit
else
echo "Database provided: $1"
fi
# (1) set up all the mysqldump variables
DATE=`date +"%d_%b_%Y_%H%M"`
DATABASE=$1
DIR=backup/
SQLFILE=db_backup_${DATABASE}_${DATE}.sql
SQLFILE_DIR=${DIR}${SQLFILE}
USER=root
DOCKER_CONTAINER_NAME=bsimmonsmysql
printf "Starting...\n"
printf "Connecting to container\n"
# (3) do the mysql database backup (dump)
docker exec -i ${DOCKER_CONTAINER_NAME} mysqldump --defaults-extra-file=home/config/mysqlpass.cnf -u ${USER} ${DATABASE} > ${SQLFILE_DIR}
printf "Database backup created at: ${SQLFILE_DIR}\n"
#############################
#
# Append test Database creation to file
#
#############################
printf "Adding (USE ${DATABASE}) into ${SQLFILE_DIR}\n"
sed -i "1i USE \`${DATABASE}\`;" ${SQLFILE_DIR}
printf "Adding (CREATE DATABASE IF NOT EXISTS ${DATABASE}) into ${SQLFILE_DIR}\n"
sed -i "1i CREATE DATABASE IF NOT EXISTS \`${DATABASE}\`;" ${SQLFILE_DIR}