diff options
Diffstat (limited to 'docker_tools/docker_backup_all_sql.sh')
| -rwxr-xr-x | docker_tools/docker_backup_all_sql.sh | 38 |
1 files changed, 38 insertions, 0 deletions
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 + |
