嗨,我正在 rhel 5.6 中测试 cfengine 部署。一切运行良好,但我想知道 cfengine 社区版是否有办法将其部署到系统的所有文件报告给文件。我通过安全 cp 从策略主机部署所有文件。我使用的是 cfengine3 社区版。
答案1
我意识到这已经很老了,但没有答案......
在 Nova 版本中,这可能成为可能。如果您想将社区版本拼凑起来,我认为您需要做的是定义一个已修复的类,或者始终定义一个类,具体取决于您希望为该文件获取哪种报告,然后根据该类的存在情况生成报告。
vars:
"etc_profile" string => "/var/cfengine/distrib/etc/profile";
files:
"/etc/profile"
copy_from => secure_cp("$(etc_profile)", "$(sys.policy_hub)"),
classes => if_repaired("distributed_etc_profile"),
comment => "Get /etc/profile from distribution server, and define class when distributed so we can report on it";
reports:
distributed_etc_profile::
"$(sys.date) $(sys.host) /etc/profile",
report_to_file => "/tmp/received_file_from_dist";
如果您希望将其收集回中心点,那么这也是您必须协调的事情。您可能只想将该文件发布到 webdav 服务器,这样您就不必在中心服务器策略中定义每个主机来执行复制。
无论如何,我知道答案早就该有了,但我希望它能有所帮助。