blob: eebe93e82099b21c40e9bbf32d8ee6d32d09dba8 (
plain)
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
36
37
38
|
#!/bin/bash
# Please read the README.md distributed along this script
#set -x
REGEX_MATCH="mariadb|mysql"
NAMES_IMAGES=`docker ps --format '{{.Names}}\t{{.Image}}'`
NAMES=$(echo -e "${NAMES_IMAGES}" | awk '{print $1}')
IMAGES=$(echo -e "${NAMES_IMAGES}" | awk '{print $2}')
IFS=$'\n'
for name_image in $NAMES_IMAGES; do
NAME=$(echo -e "${name_image}" | awk -F "\t" '{print $1}')
IMAGE=$(echo -e "${name_image}" | awk -F "\t" '{print $2}')
TIMESTAMP=`date +"%Y%m%d_%H%M%S"`
FILENAME=${TIMESTAMP}_$IMAGE_$NAME.sql
if [[ $IMAGE =~ $REGEX_MATCH ]]; then
echo --------------------------------------------------------------
echo Found Matching Image: $IMAGE running in cotnainer named $NAME
#docker inspect $NAME | grep MYSQL_ROOT_PASSWORD
PASS=$(docker inspect $NAME | grep MYSQL_ROOT_PASSWORD | sed 's/^.*"[^=]*=\([^"]*\).*$/\1/')
echo Inspected container : Extracted Root Password: xxxxxx
echo Executing mysqldump to File $NAME.sql
#--single-transaction consider vor InnoDB
docker exec $NAME mysqldump -p$PASS --lock-tables --routines --triggers --all-databases > $FILENAME
fi
done
|