mysql主从监控脚本:

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

#!/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" [email protected]

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" [email protected]

fi

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

vi /etc/mail.rc

set [email protected]
set smtp=smtp://smtp.163.cn:25
set [email protected]
set smtp-auth-password=我的密码是123,你相信么

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

时间: 2024-11-05 23:14:54

mysql主从监控脚本:的相关文章

Shell开发MySQL主从监控脚本

监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员. 1)开发一个守护进程脚本每30秒实现检测一次. 2)如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误. 阶段3:3)如果IO和SQL线程出现异常,则通知邮件给管理员 使用数组技术实现上述脚本(获取主从判断及错误号部分) 主从监控脚本如下: #!/bin/bash CODE=( 1158 1159 1008 1007 1062 2003 ) fun_Base(){ #1.定义变量 #1.1

Mysql 主从复制监控脚本

Mysql 主从复制监控脚本, 监控IO和SQL线程.如果问题.发送邮件报警. #!/bin/bash #write by lijun #Date 2014-08-12 #Description monitor the master pass the data to the slave #===================== mail="邮件地址" #=================== #获取slave io 进程和sql进程的状态 b="`mysql -uroot

shell监控MySQL主从状态脚本两则

内容为自己的一点总结,如有不对欢迎狠劲儿拍砖 本文来自http://yijiu.blog.51cto.com/转载请经博主同意,翻版可耻 监控主从复制正常与否 相比各位都应该知道,监控主从是否工作正常,涉及命令如下: show slave status\G; 那么,我们需要关注的参数如下: 1. 首先查看SQL和IO线程是否为YES状态(想必各位都明白了) 2. 是否有延迟 是否大于0   #一般生成环境延迟是否大于500秒,如果大于500则报警,如大于1000则严重报警 #比如传递一个sql到

mysql主从同步脚本监控脚本

结合我的另一篇zabbix自动发现Mysql并监控的博客使用最佳: 链接点我 脚本很简单,一看就明白: [[email protected] files]# cat libexec/slave.sh  #!/bin/bash ##slave.sh ##YES ---- 1 ##NO  ---- 0   export MYSQL_PWD=xxxxxx xstats () { STATS=$(/usr/local/mysql/bin/mysql -h127.0.0.1 -uUser_name  -P

Mysql主从搭建脚本

前言:(1)该脚本可在任意路径运行,只需能够连接外网,会自动下载所需软件包并安装.            (2)该脚本内mysql版本为mysql-5.6.25.            (3)为提高脚本自由度,该脚本部署中,需要手动指定IP.同步用户名.同步密码,安装中按照提示输入即可.        别的就不多说啦,大家自己体验吧,欢迎意见和批评 ! 图解如下:     (1)主菜单     主菜单选项如下图,共7个选项,可输入该选项内容分别执行选项中的内容.其中可输入help查看帮助,可输入

监控MySQL主从同步脚本

#!/bin/sh#date:2015-12-07#filename:Check_MySQL-rep.sh#作者:linuxzkq #Email:[email protected]#version:v1.0 Mysql_cmd="mysql -uroot -poldboy"Error_num=(1158 1159 1008 1007 1062) while truedo    rep=($($Mysql_cmd -e "show slave status\G;"|e

mysql主从监控

要求:检测myslq从库状态,跳过固定的错误号,每隔30秒检测一次,如果符合条件自动跳过或者是重启从库 1)取出mysql从库的关键字 [[email protected] scripts]# mysql -u root -p123qq.com3307 -S /data/3307/mysql.sock -e "show slave status\G"|grep -E "Running|Seconds_Behind_Master|Last_SQL_Errno"|awk

mysql状态监控脚本示例(1)

1.获取mysql的性能参量,并且进行判断是否警告 #!/bin/bash #定义变量 v_username='mysql' v_datetime=`date +"%Y-%m-%d %H:%M:%S"` v_hostname=`hostname` v_ip=`/sbin/ifconfig bond2|grep 'inet addr'|awk '{print $2}'|cut -d: -f2` MY_user="root" MY_pwd=*** MY_base=`ps

mysql主从配置脚本

PASSWD=123456USER=rootREP_HOST=10.10.10.70REP_PORT=3306REP_USER=slave[email protected]REP_FILE=mysql-bin.000021REP_POS=863718 if [ ! -f /var/lock/mysql-zc.lock ];then mysql -u$USER -p$PASSWD -e "change master to master_host='$REP_HOST', master_port=$