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,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值