脚本代码如下:

 
  
  1. #!/bin/bash                                                                                                                
  2. # Info   : check mysql slave                                                                                               
  3. # Author : dingtm                                                                                                          
  4. # CTime  : 2011.03.21                                                                                                      
  5. # This script run by root                                                                                                  
  6.                                                                                                                            
  7. DBDir=/elain/apps/mysql/bin/                                                                                               
  8. DBSock=/elain/data/mysql/3306/mysql.sock                                                                                   
  9. Log=/tmp/mysql_slave.log                                                                                                   
  10. DBUser=root                                                                                                                
  11. DBPasswd=elain                                                                                                        
  12. MailList=elain@elain.org,elain2012@hotmail.com                                                                                
  13.                                                                                                                            
  14. Seconds_Behind_Master=$(${DBDir}mysql -u${DBUser} -p${DBPasswd} -S ${DBSock} -e "show slave status\G;" | awk -F':' '/Seconds_Behind_Master/{print $2}')                                                                                              
  15.                                                                                                                            
  16. if [ ${Seconds_Behind_Master} != "NULL" ];                                                                                 
  17.     then                                                                                                                   
  18.          echo "slave is ok!"                                                                                               
  19. else                                                                                                                       
  20. ${DBDir}mysql -u${DBUser} -p${DBPasswd} -S ${DBSock} -e "show slave status\G;" >$Log                                       
  21. /usr/bin/sendEmail -f admin@elain.ort -t $MailList -s mail.elain.org -xu 'admin@elain.org' -xp 'elain@123' -u "[`date +%Y-%m-%d`]数据库不同步了,请赶快看看吧!" -m "`cat $Log`"                                                       
  22. fi  

添加定时任务

 

 
  
  1. # Info   : 监控MYSQL主从同步                                                                                               
  2. # Author : dingtm                                                                                                          
  3. # CTime  : 2011.03.21                                                                                                      
  4. */3 * * * * /bin/sh /root/scripts/check_mysql.sh 

 

附件下载脚本:


转载请注明: 转载自http://www.elain.org

本文链接地址:检测MYSQL不同步发邮件通知的脚本