截取同步状态的Slave_IO_Running和Slave_SQL_Running两个值是否都为Yes。如果其中不是,就发短信报警。
cat Check_Mysql_Slave_Replication.sh
#!/bin/bash
#array是一个数组是用来存储Slave_IO_Running和Slave_SQL_Running的值,另外$(cmd)这个是用来执行括号里面cmd的命令的,而array数组则是用()扩起来的
array=($(mysql -uroot -p'p' -e "show slave status\G"|grep "Running" |awk '{print $2}'))
if [ ${array[0]} = "Yes" ] && [ ${array[1]} = "Yes" ]; then
echo "[$(date +%Y%m%d_%H%M%S)] mysql replication is ok!"
else
echo "[$(date +%Y%m%d_%H%M%S)] mysql replication is failed!"
echo "[$(date +%Y%m%d_%H%M%S)] mysql replication is failed!" | mail -s "Mysql Slave failed" 13850000249@qq.com
fi
*/30 * * * * bash /opt/mysql_slave.sh >> /opt/mysql_slave.log 2>&1
chmod -R 777 /opt/mysql_slave.sh
签名:这个人很懒,什么也没有留下!