From 3ccd1cf7427768cb390527a45753e0cc32f4d609 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 12 May 2019 12:56:45 +0200 Subject: added docker tools --- docker_tools/docker_backup_all_sql.sh | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 docker_tools/docker_backup_all_sql.sh (limited to 'docker_tools/docker_backup_all_sql.sh') diff --git a/docker_tools/docker_backup_all_sql.sh b/docker_tools/docker_backup_all_sql.sh new file mode 100755 index 0000000..eebe93e --- /dev/null +++ b/docker_tools/docker_backup_all_sql.sh @@ -0,0 +1,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 + -- cgit v1.2.3