#!/bin/bash
#数据库ip 需修改
BaseIP=xxxxx
#远程数据库端口
BsaePort=xxxxx
#数据库用户名 需修改
BaseUsername=xxxxx
#数据库密码 需修改
BasePassword=xxxxx
#备份时间标识
BackTime=`date +%Y-%m-%d_%H:%M:%S`
#备份的文件本地目录 需修改
Back_file=/data/mysqlbak
#获取mysql容器id
mysqlId=$(docker ps | grep mysql-service | awk '{print $1}')
#备份目录
if [ ! -d $Back_file ];
then
mkdir -p $Back_file #创建文件
fi
#数据库的备份日志记录
BackLogPath=$Back_file/log
if [ ! -d $BackLogPath ];
then
mkdir -p $BackLogPath
fi
#获取全部数据库
DataBase=$(docker exec $mysqlId /usr/bin/mysql -u $BaseUsername -p$BasePassword -e "SHOW DATABASES;" | grep -v Database)
#循环备份
for db in ${DataBase[*]}
do #自带数据库不参与备份
if [ ${db} != "information_schema" ] && [ ${db} != "mysql" ] && [ ${db} != "performance_schema" ] && [ ${db} != "sys" ] && [ ${db} != "master" ];then
Back_Prefix=${db}_$BackTime.sql
#直接拿到容器内部数据库备份到本地 不需要先备份到容器内部在cp到本地
docker exec $mysqlId /usr/bin/mysqldum
Docker下mysql备份脚本
最新推荐文章于 2025-07-23 23:12:10 发布