gpt4 book ai didi

linux - CFEngine 上的主机组

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:32 25 4
gpt4 key购买 nike

我必须编写一个策略来定义各种主机组,对于特定的事情,它应该根据主机组检查参数集。

例如,我有 2 组不同的网络集群,在一个集群上,httpd.conf 保存在 /usr/local/apache/httpd.conf 下,另一个设置它保存在 /etc/httpd/httpd.conf 下。

我有一个策略来检查这些配置的文件更改,但我想要一种方法来为特定的主机组定义它应该检查的确切位置。

任何提示,帮助将是非常可观的。

最佳答案

一般的答案是为每个组定义一个类,并根据该类将适当的路径分配给变量。例如:

vars:
group1::
"httpd_conf" string => "/usr/local/apache/httpd.conf";
group2::
"httpd_conf" string => "/etc/httpd/httpd.conf";

然后你在文件操作中使用$(httpd_conf),它会根据组有正确的值。

潜在的技巧部分是如何定义这些类。在这种情况下,这取决于您的设置和偏好。例如,您可以通过明确列出每个组中的主机来定义类:

classes:
"group1" or => { "host1", "host2", "host3" };
"group2" or => { "host4", "host5", "host6" };

或者通过匹配主机名模式:

classes:
"group1" expression => classmatch("grp1.*");
"group2" expression => classmatch("grp2.*");

还有其他的可能性。如需完整治疗,请查看 Defining classes for groups of hosts在我的书的第 6 章 "Learning CFEngine 3" .

关于linux - CFEngine 上的主机组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com