当尼古拉斯进行故障转移完成或由于错误停止时,我们可以使用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=比;美元的调试