#!/bin/shmysql
#check_mysql_slave statussql
ip=eth1 #網卡名稱數據庫
mysql_binfile=/usr/local/mysql/bin/mysqlide
mysql_user=root #MySQL數據庫帳號日誌
mysql_pass=123456 #密碼ip
mysql_sockfile=/tmp/mysql.sockit
datetime=`date +"%Y-%m-%d/%H:%M:%S"` #獲取當前時間class
mysql_slave_logfile=/opt/slave.log #日誌文件路徑,必須提早建立好awk
slave_ip=`ifconfig $ip|grep "inet addr" | awk -F[:" "]+ '{print $4}'`date
status=$($mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "show slave status\G" | grep -i "running")
Slave_IO_Running=`echo $status | grep Slave_IO_Running | awk ' {print $2}'`
Slave_SQL_Running=`echo $status | grep Slave_SQL_Running | awk '{print $2}'`
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then echo "Slave is Running!" >> /opt/s.log
#mail -s "$ip Slave is running!(主從關係正常,放心使用啦。)" 243652136\@qq.com < /opt/s.log
else
echo " $datetime $slave_ip Slave is not running!" >> $mysql_slave_logfile
mail -s " Slave is not running!(主從關係宕機啦,趕忙去修復吧。)" 243652136\@qq.com < $mysql_slave_logfile
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "stop slave;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "set global sql_slave_skip_counter=1;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "start slave;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "exit"
fi