mysql 5.7 备份脚本_Shell脚本使用汇总整理——mysql数据库5.7.8以前备份脚本

#!/bin/sh

#db_backups_conf.txt文件路径

db_backups_conf="/wocloud/shell/db_backups_conf.txt"

#判断文件是否存在

if [ -f "${db_backups_conf}" ];then

echo $(date +'%Y-%m-%d %H:%M:%S')" 数据库配置信息文件存在,开始进行数据备份"

#获取等号前内容,作为map中的Key值

dbArrOne=($(awk -F'[=]' '{print $1}' ${db_backups_conf} ))

#获取等号后内容,作为map中的value值

dbArrTwo=($(awk -F'[=]' '{print $2}' ${db_backups_conf}))

#创建一个空map

declare -A map=()

#通过循环,将db_backups_conf配置文件中的信息存储在map中

for((i=0;i

do

map[${dbArrOne[i]}]=${dbArrTwo[i]}

done

#获取备份数据库的字符串

copyDb=${map["copydb"]}

#获取默认的字符串分隔符

old_ifs="$IFS"

#设置字符串分隔符为逗号

IFS=","

#将备份数据库value值的字符串进行分隔,获取一个数组

dbArr=($copyDb)

#将字符串的分隔符重新设置为默认的分隔符

IFS="$old_ifs"

#获取当前年月日

saveday=$(date +%Y%m%d)

#获取超出备份天数的年月日

delday=$(date -d ${map["backupsFileDay"]}' days ago' +%Y%m%d)

#遍历要备份的数据库,删除两天前备份的数据文件

for delDb in ${dbArr[@]};

do

echo $(date +'%Y-%m-%d %H:%M:%S')" 删除文件:"${map["backupsFileStr"]}/${delDb}_database_${delday}.sql

rm -f ${map["backupsFileStr"]}/${delDb}_database_${delday}.sql

done

#遍历要备份的数据库,备份数据文件

for saveDb in ${dbArr[@]};

do

echo $(date +'%Y-%m-%d %H:%M:%S')" 备份数据库:"${saveDb}

${map["mysqldumpStr"]} -u${map["username"]} -p${map["password"]} ${saveDb} > ${map["backupsFileStr"]}/${saveDb}_database_${saveday}.sql

done

echo $(date +'%Y-%m-%d %H:%M:%S')" 数据备份完毕,脚本执行完毕"

else

echo "文件不存在"

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值