mysql docker 环境下根据表前缀备份

mysql docker 环境下根据表前缀备份,第1张

mysql docker 环境下根据表前缀备份
#!/bin/bash
backupdir=/data/backup/db/sql
idatetime=`date +%Y%m%d_%H%M%S`
#表名称
sysTablePrefix='base_ biz_ crm_ d_ data_ dsj_ h_ qrtz_ third_'
tablePrefix=$(docker exec -i mysql mysql -u用户名 -p密码  数据库 -Bse "自定义SQL查询表前缀")
mkdir -p ${backupdir}/$(date +%Y%m%d)
echo '>>>>>>>>>>'$(date)'文件夹创建成功'
echo '>>>>>>>>>>数据库备份开始,当前时间:'$idatetime
for sysTable in $sysTablePrefix; do
docker exec -i mysql mysqldump  -u用户名 -p密码 --single-transaction --master-data --quick --default-character-set=utf8 数据库 $(docker exec -i mysql mysql -u用户名 -p密码  数据库 -Bse "show tables like '${sysTable}%'")| gzip  > ${backupdir}/$(date +%Y%m%d)/数据库_${sysTable}${idatetime}.sql.gz
echo '>>>>>>>>>>'${sysTable}'数据库备份结束,当前时间:'$(date +%Y%m%d_%H%M%S)
done

echo '>>>>>>>>>>系统表备份结束,当前时间:'$idatetime

for table in $tablePrefix; do
docker exec -i mysql mysqldump  -u用户名 -p密码 --single-transaction --master-data --quick --default-character-set=utf8 cloudpivot $(docker exec -i mysql mysql -u用户名 -p密码  数据库 -Bse "show tables like '${table}%'")| gzip  > ${backupdir}/$(date +%Y%m%d)/数据库_${table}_${idatetime}.sql.gz
echo '>>>>>>>>>>'${table}'数据库备份结束,当前时间:'$(date +%Y%m%d_%H%M%S)
done
-- 保留15天的备份记录
find ${backupdir} -type d -mtime +15 -exec rm -rf {} ;
echo '>>>>>>>>>>数据库备份结束,当前时间:'$(date +%Y%m%d_%H%M%S)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5682648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存