如何使用shell脚本监控mysql主从同步状态

本篇文章给大家分享的是有关如何使用shell脚本监控MySQL主从同步状态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

10年积累的成都做网站、成都网站建设、成都外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有故城免费网站建设让你可以放心的选择与我们合作。

#!/bin/bash
#monitor_mysql_slave status
USERNAME=xx

#如果密码中包含特殊字符,可以加引号,避免转义

PASSWORD='xx' 
SLAVE_HOST=ip
SLAVE_PORT=port
 
MYSQL="mysql -u$USERNAME -p$PASSWORD"
SLAVE="$MYSQL -h $SLAVE_HOST -P $SLAVE_PORT"
EMAIL_ADDR=zhangsan@qq.com 

datetime=`date +"%Y-%m-%d %H:%M:%S"`
#查看从服务器状态
MySQL_Status=`$SLAVE -e "SHOW SLAVE STATUS\G"  | grep -E "Running|Seconds_Behind_Master"|head -n3 `

#从服务器的二个进程信息

Slave_IO_Running=`echo $MySQL_Status | grep Slave_IO_Running |awk '{print $2}'`
Slave_SQL_Running=`echo $MySQL_Status |grep Slave_SQL_Running |awk '{print $4}'`
Seconds_Behind_Master=`echo $MySQL_Status |grep Seconds_Behind_Master |awk '{print $6}'`

if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" -a "$Seconds_Behind_Master" -lt "10"]
then
    echo "Replication OK"
else
     
    SUBJECT="ERRORS in replication"
     BODY="$datetime $SLAVE_HOST  MySQL slave replication error"
    echo $SUBJECT
    echo $BODY

    #发送报警邮件
    echo $BODY | mail -s "$SUBJECT" -t $EMAIL_ADDR

fi

编写好了之后,保存。授予可执行权限 chmod +x 文件名 ,然后执行即可。如果有错误,可使用sh -x 文件名 进行调试。

也可将该脚本加入到定时任务中,定时执行

使用crontab -e 命令,将下方的命令加入到定时任务中

定时任务每15分钟执行一次

*/15 * * * * /usr/local/xx.sh

重启crontab

以上就是如何使用shell脚本监控mysql主从同步状态,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


新闻名称:如何使用shell脚本监控mysql主从同步状态
标题链接:http://scjbc.cn/article/gigcop.html

其他资讯