开发者社区> 余二五> 正文

mysql主从检测shell脚本

简介:
+关注继续查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
# check mysql slave status
while 1 ]
do
MAILTO=testwhocare@163.com
USER="check"
PSW="***"
WAITTIME=1800
#ADDR=""192.168.*.*" "192.168.*.*""
ADDR="192.168.*.*"
declare -a slave_is
for IP in $ADDR
do
slave_is=($(/usr/local/mysql/bin/mysql -h$IP -u${USER} -p${PSW} -e "show slave status\G"|grep Running|awk '{print $2}'))
if "${slave_is[0]}" "Yes" -a "${slave_is[1]}" "Yes" ]
then
 echo -e "${IP} - Slave Status: \e[1;32m [ OK ] \e[0m" > /app/sqlstatus
else
 echo "${IP} - Slave Status: \e[1;31m [ ERROR ] \e[0m" > /app/sqlstatus
 cat "/app/sqlstatus" |mutt -s "mysql slave" $MAILTO
fi
sleep $WAITTIME
done
done

wKioL1NwmUfxh7T4AAB2h2PFvbg805.jpg

先在从服务器创建一个可以检测的账户,这里用check,间隔一小时检查一次,如果出错,发送邮件 (yum install mytt 或者用sendmail)


只是查看mysql主从状态shell脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
# check mysql slave status
USER="check"
PSW="FY@239"
#ADDR=""192.168.*.*" "192.168.*.*""
ADDR="192.168.*.*"
declare -a slave_is
for IP in $ADDR
do
slave_is=($(/usr/local/mysql/bin/mysql -h$IP -u${USER} -p${PSW} -e "show slave status\G"|grep Running|awk '{print $2}'))
echo ${slave_is[0]} ${slave_is[1]}
if "${slave_is[0]}" "Yes" -a "${slave_is[1]}" "Yes" ]
then
 echo -e "${IP} - Slave Status: \e[1;32m [ OK ] \e[0m"
else
 echo "${IP} - Slave Status: \e[1;31m [ ERROR ] \e[0m"
fi
done

运行结果如下

wKioL1N2wcTyKXOLAACAZ0F93Bc610.jpg










本文转自 bbotte 51CTO博客,原文链接:http://blog.51cto.com/bbotte/1410008,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mysql常用命令和脚本
mysql常用命令和脚本 修改表的auto_increment select auto_increment from information_schema.tables where table_schema='ybl_des' and table_name='goods_sync'; alter table ybl_des.
1517 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
10717 0
Shell脚本中执行sql语句操作mysql的5种方法
Shell脚本中执行sql语句操作mysql的5种方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-10-31 我要评论 这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中、命令行调用单独的SQL文件、使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。
4064 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
20933 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载