分组服务:
Rex提供一个强大的服务器分组功能。
最简单的方式使用groups 是定义一个group name 增加你需要的服务器到这个组
group frontends => "frontend01", "frontend02", "frontend03";
group backends => "backend01", "backend02";
group frontends => "192.168.137.3", "192.168.137.2";
task "getip", sub {
my $output = run "ifconfig -a";
say $output;
};
[root@node01 my-first-rex-project]# rex -g frontends getip
Rex 提供一个简单的符号来定义服务器范围,这样你就不需要输入太多
服务器自定义参数是可以的使用一个稍微加强的语法
group frontends =>
"frontend01" => { user => "bob" },
"frontend02" => { user => "alice" },
"frontend03";
group frontends => "192.168.137.2"=> { user => "root" }, "192.168.137.3"=> { user => "mqm" },;
因为Rexfile 是一个Perl脚本 可以使用更高级的东西比如查询数据库,ldap或者dns
添加你的groups 到任务 你保修使用group选项
task "mytask", group => "mygroup", sub {
# do something
};
如果你需要定义多个组,你可以使用一个数组:
task "mytask", group => ["mygroup", "mygroup2"], sub {
# do something
};