码迷,mamicode.com
首页 > 数据库 > 详细

脚本检测mariadb主数据库可用性,实时切换到从数据库

时间:2018-09-17 17:54:01      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:dev   ash   xxxx   etc   null   lse   root   tab   moni   

编写shell脚本 检测主mysql服务可用性,不可用则修改/etc/hosts文件中的 ip与db服务器对应关系

#!/bin/bash
#20180911
#author by efoni

DB_SERVER=(
192.168.181.129 #master
192.168.181.130 #slave
)
MARIADB_HOST="mariadb.fnqh"
echo date +%Y-%m-%d-%H:%M:%S

DB_IP=ping -c 2 $MYSQL_HOST|awk ‘NR==1 {print $3}‘|sed ‘s/(//g;s/)//g‘

mysql -h$MARIADB_HOST -uroot -pxxxxxx -e "show databases;" >>/dev/null 2>&1
CODE="$?"
while [$CODE -ne 0]
do
if ["$DB_IP" == "${DB_SERVER[1]"];then
sed -i "s/$DB_IP/${DB_SERVER[0]}/g" /etc/hosts
else
sed -i "s/$DB_IP/${DB_SERVER[1]}/g" /etc/hosts
fi
CODE=0
done

后台运行此脚本:
screen进入后台运行
输入while sleep 2;do sh auto_mariadb_monitor.sh ;done
或者nohup sh auto_mariadb_monitor.sh &后台运行
即可每隔2秒检测可用性并执行切换脚本。

脚本检测mariadb主数据库可用性,实时切换到从数据库

标签:dev   ash   xxxx   etc   null   lse   root   tab   moni   

原文地址:http://blog.51cto.com/efoni/2176235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!