linux中经理的使用

  

 <代码> (root@manager脚本)#猫/脚本/master_ip_failover
  # !/usr/bin/env perl
  使用严格的;
  使用致命的警告=比;& # 39;所有# 39;;
  使用Getopt::长;
  我的(
  命令,ssh_user美元,美元orig_master_host, orig_master_ip orig_master_port美元,美元
  new_master_host new_master_ip, new_master_port美元美元
  );
  我$ vip=& # 39; 192.168.20.100& # 39;;,,,,#这里指定VIP地址
  我的美元关键=& # 39;0 & # 39;;
  我的$ ssh_start_vip=?sbin/ifconfig ens33:关键vip"美元;;,,,,#这条指令是启动贵宾
  我的$ ssh_stop_vip=?sbin/ifconfig ens33:关键down"美元;;,,,#这条指令是停止贵宾
  GetOptions (
  & # 39;命令=& # 39;=比;\ $命令,
  & # 39;ssh_user=& # 39;=比;\ ssh_user美元,
  & # 39;orig_master_host=& # 39;=比;\ orig_master_host美元,
  & # 39;orig_master_ip=& # 39;=比;\ orig_master_ip美元,
  & # 39;orig_master_port=我# 39;=比;\ orig_master_port美元,
  & # 39;new_master_host=& # 39;=比;\ new_master_host美元,
  & # 39;new_master_ip=& # 39;=比;\ new_master_ip美元,
  & # 39;new_master_port=我# 39;=比;\ new_master_port美元,
  );
  退出,main ();
  子主要{
  打印“\ n \ nIN脚本测试====ssh_stop_vip==ssh_start_vip美元===\ n \ n";
  如果($命令eq“stop"| | $命令eq“stopssh"){
  我exit_code=1美元;
  eval {
  打印“禁用VIP大师:$ orig_master_host \ n";
  ,stop_vip ();
  美元exit_code=0;
  };
  如果($ @){
  警告,有错误:$ @ \ n";
  退出exit_code美元;
  }
  退出exit_code美元;
  }
  elsif($命令eq“时){
  我exit_code=10美元;
  eval {
  打印“启用VIP -贵宾新主人——new_master_host美元
  \ n";
  ,start_vip ();
  美元exit_code=0;
  };
  如果($ @){
  警告$ @;
  退出exit_code美元;
  }
  退出exit_code美元;
  }
  elsif($命令eq“status"){
  打印“检查脚本的状态. .好的\ n";
  #“ssh ssh_user \ @cluster1 \“美元;ssh_start_vip \“美元”;
  退出0;
  }
  其他{
  和使用();
  退出1;
  }
  }
  #一个简单的系统调用,让贵宾在新主人
  子start_vip () {
  “ssh ssh_user \ @ new_master_host \“美元;ssh_start_vip \“美元”;
  }
  #一个简单的系统调用,禁用old_master上的贵宾
  子stop_vip () {
  返回0,除非($ ssh_user);
  “ssh ssh_user \ @ orig_master_host \“美元;ssh_stop_vip \“美元”;
  }
  子使用{
  打印
  “用法:master_ip_failover——命令=启动|停止| stopssh |状态—
  orig_master_host=主机——orig_master_ip=ip——orig_master_port=端口
  new_master_host=主机——new_master_ip=ip——new_master_port=港\ n";
  }
  
  (root@manager ~) #我/脚本/master_ip_failover,,,,,,#需要保证脚本有可执行权限
  -rwxr-xr-x 1根根2006年2月,24 16:32/脚本/master_ip_failover  

2,修改经理配置文件

 <代码> [root@manager ~] #猫/etc/masterha/app1.cnf,,,,,#配置文件指定脚本的位置
  (服务器默认)
  manager_workdir=/var/log/masterha/app1
  manager_log=/var/log/masterha/app1/manager.log
  用户=经理
  密码=123. com
  ssh_user=根
  repl_user=mharep
  repl_password=123. com
  ping_interval=1
  master_ip_failover_script=/脚本/master_ip_failover,,#增加改行,指定脚本的位置即可。
  
  (server1)
  主机名=192.168.20.2
  端口=3306
  master_binlog_dir=/usr/地方/mysql/数据
  candidate_master=1
  
  (server2)
  主机名=192.168.20.3
  端口=3306
  master_binlog_dir=/usr/地方/mysql/数据
  candidate_master=1
  
  (server3)
  主机名=192.168.20.4
  端口=3306
  master_binlog_dir=/usr/地方/mysql/数据
  no_master=1  

做到这里,就可以保证在切换主人时,贵宾地址也会随之切换到新主人的主机上。

  

linux中经理的使用