K8s中 备份数据 检查验证(一)

8 篇文章 0 订阅

对k8s中备份的数据进行验证,对比现k8s运行中的数据与备份的数据,检查是否备份异常。

脚本包括对K8s中的mysql,mongodb,redis及etcd四种数据库的现行状态及备份检查。

脚本运行在K8s中的master主机中。

bak 目录:里边的备份数据是从K8s中各个备份点 scp 或 rsync到此目录中。

dbtmp目录:验证过程中自动生成的验证的数据文件。

log目录:验证日志输出目录。

直接运行./check.sh就可以生成 .md格式的验证结果。

如下是check.sh代码:

#!/bin/bash

#运行目录
rundir=$(cd $(dirname $0); pwd)
#格式化当前日期
theday=`date +%F`

outmd=${rundir}/check-out-${theday}.md

echo "# 备份验证-${theday}" > ${outmd}

echo -e "\e[92m 开始iotplat-Mysql数据库检查... \e[0m" 

echo "## iotplat-Mysql" >> ${outmd}
echo "--------------------------" >> ${outmd}
echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

#./status-mysql.sh mysql-0 -n default  >> ${outmd}
./status-mysql-iotplat.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

# ./mysql-check.sh /home/mysql-iotplat.tar.gz >> ${outmd}
./mysql-check-iotplat.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}

cat -n ${rundir}/check-out-${theday}.md
echo -e "\e[92m 开始s1plat-Mysql数据库检查... \e[0m"

echo "## s1plat-Mysql" >> ${outmd}
echo "--------------------------" >> ${outmd}
echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

#./status-mysql.sh mysql-0 -n default  >> ${outmd}
./status-mysql-s1plat.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

# ./mysql-check.sh /home/mysql-s1plat.tar.gz >> ${outmd}
./mysql-check-s1plat.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}
echo "--------------------------" >> ${outmd}

cat -n ${rundir}/check-out-${theday}.md
echo -e "\e[92m 开始iotplat-Redis数据库检查... \e[0m"

echo "## iotplat-Redis" >> ${outmd}
echo "--------------------------" >> ${outmd}

echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}
#./status-mysql.sh mysql-0 -n default  >> ${outmd}
./status-redis-iotplat.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

./redis-check-iotplat.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}


cat -n ${rundir}/check-out-${theday}.md
echo -e "\e[92m 开始s1plat-Redis数据库检查... \e[0m"

echo "## s1plat-Redis" >> ${outmd}
echo "--------------------------" >> ${outmd}

echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}
#./status-mysql.sh mysql-0 -n default  >> ${outmd}
./status-redis-s1plat.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

# ./mysql-check.sh /home/mysql.tar.gz >> ${outmd}
./redis-check-s1plat.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "--------------------------" >> ${outmd}


cat -n ${rundir}/check-out-${theday}.md
echo -e "\e[92m 开始ehome-MongoDB数据库检查... \e[0m"

echo "## ehome-MongoDB" >> ${outmd}
echo "--------------------------" >> ${outmd}
echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

#./status-mysql.sh mysql-0 -n default  >> ${outmd}
./status-mongodb.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

# ./mysql-check.sh /home/mysql.tar.gz >> ${outmd}
./mongodb-check.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}
echo "--------------------------" >> ${outmd}

cat -n ${rundir}/check-out-${theday}.md
echo -e "\e[92m 开始Etcd数据库检查... \e[0m"

echo "## Etcd" >> ${outmd}
echo "--------------------------" >> ${outmd}
echo "> 当前系统的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

./status-etcd.sh >> ${outmd}

echo " \`\`\` " >> ${outmd}

echo "> 备份的数据" >> ${outmd}
echo " " >> ${outmd}
echo " \`\`\` " >> ${outmd}

# ./mysql-check.sh /home/mysql.tar.gz >> ${outmd}
./etcd-check.sh  >> ${outmd}

echo " \`\`\` " >> ${outmd}
echo "--------------------------" >> ${outmd}
cat -n ${rundir}/check-out-${theday}.md

echo -e "\e[92m 检查完成! \e[0m"

运行后输出的结果.md如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值