|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!代码以下:
- #!/bin/bash#checkMySQL_SlaveStatus#crontabtime00:10MYSQLPORT=`netstat-na|grep"LISTEN"|grep"3306"|awk-F[:""]+{print$4}`MYSQLIP=`ifconfigeth0|grep"inetaddr"|awk-F[:""]+{print$4}`STATUS=$(/usr/local/webserver/mysql/bin/mysql-uyuhongchun-pyuhongchun101-S/tmp/mysql.sock-e"showslavestatusG"|grep-i"running")IO_env=`echo$STATUS|grepIO|awk{print$2}`SQL_env=`echo$STATUS|grepSQL|awk{print$2}`DATA=`date+"%y-%m-%d%H:%M:%S"`if["$MYSQLPORT"=="3306"]thenecho"mysqlisrunning"elsemail-s"warn!server:$MYSQLIPmysqlisdown"yuhongchun027@163.comfiif["$IO_env"="Yes"-a"$SQL_env"="Yes"]thenecho"Slaveisrunning!"elseecho"#######$DATA#########">>/data/data/check_mysql_slave.logecho"Slaveisnotrunning!">>/data/data/check_mysql_slave.logecho"Slaveisnotrunning!"|mail-s"warn!$MYSQLIPMySQLSlaveisnotrunning"yuhongchun027@163.comfi
复制代码
倡议每非常钟运转一次
*/10****root/bin/sh/root/mysql_slave.sh
记得在每台MySQL从机上分派一个yuhongchun的用户,权限年夜些也不妨,只限制在当地运转,以下所示:
- grantallprivilegeson*.*to"yuhongchun"@"127.0.0.1"identifiedby"yuhongchun101";grantallprivilegeson*.*to"yuhongchun"@"localhost"identifiedby"yuhongchun101";
复制代码
剧本计划思绪:
1、此剧本应当能顺应林林总总分歧的表里网情况,即IP分歧的情况;
2、让剧本也特地监控下MySQL是不是一般运转;
3、Slave呆板的IO和SQL形态都必需为YES,缺一不成,这里用到了多重前提判别-a。
剧本发生的背景情况:
我有很多基于公网范例的网站(没有硬件防火墙,间接置于IDC机房)做的都是MySQL主从架构,从机次要起备份数据库和冷备份的感化,固然从机宕机了成绩不年夜,但也影响数据的备份事情;如许的网站无数十个,假如一个一个手动的反省,天天都要华侈很多工夫,以是玩了下剧本控,计划了如上剧本。
剧本理论:
此剧本我已用于了临盆情况,人人能够放在我们的从MySQL呆板上,用来监控;别的倡议偶然也手动反省下,有次发明rsync--delete主动删除/data/data内里的数据,即从数据库的地位,剧本没有报警。
前期使用:
前期公司的MySQL数据库筹办由一主一从架色晋级成一主多从,读写分别的架构,LVS作从数据库的负载平衡器,此剧本主动监控从MySQL的replication形态,假如不克不及同步则主动封闭本机的MySQL办事,以免影响全部网站的一般营业会见。固然了,到时剧本的运转周期一定也必要变动,由10分钟酿成秒级的,这个能够经由过程while轮回来完成。
欢迎大家来到仓酷云论坛! |
|