#!/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