博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql主从监控脚本:
阅读量:6257 次
发布时间:2019-06-22

本文共 1402 字,大约阅读时间需要 4 分钟。

在大型网站中对数据库往往都是做主从设计的,要是根据设计模式读写都只是进行再主库上面,那么从服务器往往是智能起了备份的作用,有时候备份端口了适当时候手工添加就好,但是要是网站做了读写分离,不及时发现那就是灾难性的了:(一般出现从库跟不上可以暂时先把读也切换到主上去。等从恢复好了再切回来):下面根据这个给出一条主从监控脚本:

#!/bin/bash

#check MySQL_Slave Status
#crontab time 00:10
MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $4}'`
MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
STATUS=$(/etc/mysql/bin/mysql -uxiaoluo -pxiaoluo -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")  
IO_env=`echo $STATUS | grep "Slave_IO_Running" | awk  ' {print $2}'`
SQL_env=`echo $STATUS | grep "Slave_SQL_Running" | awk  '{print $2}'`
DATA=`date +"%y-%m-%d %H:%M:%S"`
if [ "$MYSQLPORT" == "3306" ]
then
  echo "mysql is running"
else
  mail -s "warn!server: $MYSQLIP mysql is down" xxx@163.com 
fi
if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]
then
  echo "Slave is running!"
else
  echo "####### $DATA #########">> /data/mysql/check_mysql_slave.log
  echo "Slave is not running!" >>    /data/mysql/check_mysql_slave.log
#  echo "Slave is not running!" | mail -s "warn! $MYSQLIP MySQL Slave is not running" xxxx@163.com
fi 

这里我选择的是发送到163邮箱,现在手机可以下载一个第三方客户端就可以解决了。然后要使用mail的话最好要注意修改一些地方:(不然很有可能发送不出去)

vi /etc/mail.rc       

set from=xxx@163.com

set smtp=smtp://smtp.163.cn:25
set smtp-auth-user=xxx@163.com
set smtp-auth-password=我的密码是123,你相信么

修改完之后可以测试已经发送邮件成功了。

本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1564026,如需转载请自行联系原作者
你可能感兴趣的文章
Leetcode题目:Bulls and Cows
查看>>
bk. 2014.12.1
查看>>
CEOI2014 wall Spoiler
查看>>
UVA10391 ZOJ1825 Compound Words【SET+暴力】
查看>>
动态规划------Combination Sum IV
查看>>
[BZOJ2463][中山市选2009]谁能赢呢?
查看>>
iOS数据持久化存储之属性列表
查看>>
最后冲刺时间
查看>>
前端开发薪资之各地区对比(图文分析)
查看>>
jquery简单的大背景banner图片全屏切换
查看>>
java疑问
查看>>
JAVAEE 介绍
查看>>
视图和路由
查看>>
优酷新版播放器站外调用代码详解
查看>>
Python之操作符优先级
查看>>
【学习笔记】PHP会话控制
查看>>
面试题 17:合并两个排序的链表
查看>>
Linux命令--链接文件的那些事
查看>>
您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项...
查看>>
《梦断代码》读后感02
查看>>