Docker下mysql备份脚本

#!/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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值