-----------正式
#!/bin/bash
# check mysql slave status
# crontab time 00:08
# path 80 /data0/sh/shell_mysql_slave.sh
# log path /data0/mysql/3306/check_mysql_slave.log
mysql_path=/usr/local/webserver/mysql/bin/mysql
user="admin"
password="password"
email=test@qq.com
date=`(date +%y-%m-%d--%H:%M:%S)`
ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}' | head -1)
Slave_IO_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}')
Slave_SQL_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_SQL_Running" | awk '{print $2}')
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then
echo "Slave is running!"
else
echo "####### $date #########">> /data0/mysql/3306/check_mysql_slave.log
echo "Slave is not running!" >> /data0/mysql/3306/check_mysql_slave.log
/bin/mail -s {$ip}_replicate_error $email
fi
---------------原始
#!/bin/bash
mysql_path=/usr/local/mysql/bin/mysql
user="root"
password="123456"
email=test@qq.com
date=`(date +%y-%m-%d--%H:%M:%S)`
#取得内网ip
ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}' | head -1)
# 取得Slave_IO_Running状态值
# # /usr/local/webserver/mysql/bin/mysql -uadmin -padmin -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}'
#Yes
Slave_IO_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}')
Slave_SQL_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_SQL_Running" | awk '{print $2}')
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then
echo "Slave is running!"
else
echo "####### $date #########">> /var/log/mysql_slave.log
echo "Slave is not running!" >> /var/log/mysql_slave.log
/bin/mail -s {$ip}_replicate_error $email
fi