mysql高可用之尼古拉斯(补充2)——邮件报的警

  

  当尼古拉斯进行故障转移完成或由于错误停止时,我们可以使用send_report以邮件报警的方式来获得故障转移报告,以便我们及时了解现在的数据库状态。   

  

  首先需要修改脚本:   

  

  
  

  

  [root@rd-mysql-test4尼古拉斯)#猫/usr/local/bin/send_report    

  

  # !/usr/bin/perl   

  

  ,   

  

  #,版权(C) 2011 DeNA有限公司。   

  

  #   

  

  #,这个程序是自由软件;你可以重新分配和/或修改   

  

  #,它根据发布的GNU通用公共许可证   

  

  #,自由软件基金会;版本2的许可,或   

  

  #,(任您选)其后的版本。   

  

  #   

  

  #,这个程序是分布式的,希望这将是有用的,   

  

  #,但没有任何担保;甚至没有的默示保证   

  

  #,适销性或健身为特定目的。,看到了   

  

  #,GNU通用公共许可证的更多细节。   

  

  #   

  

  #,你应该收到了GNU通用公共许可证的副本   

  

  #,随着这个项目;如果不是,写信给自由软件   

  

  #,基金会有限公司   

  

  51 #,富兰克林街,五楼,波士顿,MA, 02110 - 1301,美国   

  

  ,   

  

  # #注:这是一个示例脚本,并不是完整的。根据您的环境修改脚本。   

  

  ,   

  

  使用严格的;   

  

  使用致命的警告=比;& # 39;所有# 39;;   

  

  使用邮件:发送者;   

  

  使用Getopt::长;   

  

  ,   

  

  # new_master_host new_slave_hosts,只有当主恢复成功了   

  

  我的($ dead_master_host new_master_host美元new_slave_hosts美元,美元,美元身体);   

  

  ,   

  

  我$ smtp=& # 39; smtp.163.com& # 39;;   

  

  我$ mail_from=& # 39; from@163.com& # 39;;   

  

  我$ mail_user=& # 39; from@163.com& # 39;;   

  

  我$ mail_pass=& # 39;密码# 39;;   

  

  #我$ mail_to=[& # 39; to1@qq.com& # 39; & # 39; to2@qq.com& # 39;];   

  

  我$ mail_to=& # 39; to@qq.com& # 39;;   

  

  ,   

  

  GetOptions (   

  

  ,& # 39;orig_master_host=& # 39;=比;\ dead_master_host美元,   

  

  ,& # 39;new_master_host=& # 39;,=比;\ new_master_host美元,   

  

  ,& # 39;new_slave_hosts=& # 39;,=比;\ new_slave_hosts美元,   

  

  ,& # 39;主题=& # 39;,,,,,=比;美元\主题,   

  

  ,& # 39;身体=& # 39;,,,,,,=比;身体\ $,   

  

  );   

  

  ,   

  

  #做任何你想做的   

  

  mailToContacts (smtp, mail_from美元mail_user美元,美元mail_pass, mail_to美元,美元,美元身体);   

  

  ,   

  

  子mailToContacts {   

  

     我的(smtp, mail_from美元,美元mail_user, mail_pass美元,mail_to美元,美元,美元msg)=@ _;   

  

     打开我的调试美元,“在/var/log/masterha/app1/mail.log"   

  

     或死亡“停下来# 39;t打开调试      文件:$ ! \ n";   

  

     我发送美元=新邮件:发送方{   

  

     ctype=比;& # 39;文本/平原;charset=utf - 8 # 39;   

  

     编码=比;& # 39;utf - 8 # 39;   

  

     smtp=比;smtp美元,   

  

     从=比;mail_from美元,   

  

     身份验证=比;& # 39;登录# 39;   

  

     TLS_allowed=比;& # 39;0 & # 39;   

  

     authid,=比;mail_user美元,   

  

     authpwd=比;mail_pass美元,   

  

     来=比;mail_to美元,   

  

     主题=比;美元的主题,   

  

     调试=比;美元的调试   

  

     };   

  

     发送方→美元MailMsg (   

  

     {   

  

     味精=比;味精、美元   

  

     debug=比;美元的调试   

mysql高可用之尼古拉斯(补充2)——邮件报的警