cfengine

Cfengine根据变量值执行操作
cfengine

Cfengine根据变量值执行操作

在 cfengine 中,我有一个变量,设置为命令的输出。假设变量 myoutput 设置为“hi world”。我如何根据 myoutput 的内容执行命令。 我想做这样的事情(sudo cfengine 代码): bundle agent test { vars: "myoutput" string => execresult("echo 'hi world';","noshell"); commands: myoutput=="hi world":: "/usr/...

Admin

从 cron 和 cfengine 聚合电子邮件
cfengine

从 cron 和 cfengine 聚合电子邮件

我最近接管了一个相当规模的网络(10 个物理站点上有 900 个 FreeBSD 或 Linux 主机),我们在那里收到大量发往 root 的电子邮件,其中大部分来自 cfengine (v2)。多年来,我们还安装了许多 cron 作业,其中一些会不时发出噪音(有些每次运行时都会发出噪音!)多年来,团队中的系统管理员已经逐渐接受这些消息并将其过滤到 /dev/null,因此很少被阅读。 显然这不是理想的,我们应该解决所有噪音问题 - 我们会这样做。但首先我想做一些事情来解决这个问题,并尝试指出最“嘈杂”的程序,并记录电子邮件数量的统计数据,以便我们可以看到...

Admin

CFEngine 模板和覆盖文件
cfengine

CFEngine 模板和覆盖文件

我对 CFEngine 的模板系统有疑问。我安装了一个包,在这个特定情况下是 ganglia,它会创建一个默认配置文件。然后我想添加行,具体/etc/ganglia/gmond.conf取决于它是收集服务器还是只是提供信息以及服务器所在的 colo。所以我制作了一个模板,并使用了一些变量来表示我需要的不同信息。 当我手动删除/etc/ganglia/gmond.conf并运行 cfagent 时,模板正确展开并且看起来正确。 当我使用 ganglia 包中的默认配置运行 cfagent 时,它只是将不存在的行附加到默认配置文件的底部。 现在expand...

Admin

根据命令输出设置 cfengine3 类
cfengine

根据命令输出设置 cfengine3 类

这个问题与如何在 cfengine3 中使用命令的输出但我认为答案并不适用于我的情况。 我想通过“git pull”更新 git 存储库,并根据是否导致更改触发一些后续操作。 简而言之,如果通过某些机构有类似“匹配输出并设置类”之类的东西,if_output_matches我会想要使用这样的东西: bundle agent updateRepo { commands: "/usr/bin/git pull" contain => setuidgiddir_sh("$(globals.user)","$(globals.group)"...

Admin

创建全局变量:
cfengine

创建全局变量:

我想将body package_method一些变量放在 promises.cf 或其他文件中,并且我应该能够从我编写的任何新 CF 文件中调用它。 这可能吗?我在文档中找不到与此类方法相关的任何内容。 我本来想创建一个新文件/var/cfengine/masterfiles/,然后编辑/var/cfengine/promises.cf并插入新文件,inputs但没有成功。 这是我想要放入的内容(可能放在一个新文件中),它应该是全局可访问的。 bundle common variables { vars: "global_v...

Admin

systemd 中的软依赖
cfengine

systemd 中的软依赖

我想知道是否有办法在 systemd 服务之间创建软依赖关系。基本上,我想创建一个“伞”服务来启动标记为(软)依赖关系的其他服务,但是当且仅当它们被启用时-- 雨伞应该绝不启动已禁用的依赖服务。 更具体地说,我收到了拉取请求为了cfengine-systemd旨在创建这样一个伞状单元。遗憾的是,提议的cfengine3.service单元不遵守依赖单元的启用/禁用状态,并且无论如何都会启动它们。 我以前也曾尝试过用目标单元做同样的事情,但是可耻地失败了。 有什么线索吗? 提前致谢 更新以下是迈克尔的问题:我想说,如果cfengine3.servic...

Admin

从 CFEngine 切换到 Rudder 的正确方法是什么?
cfengine

从 CFEngine 切换到 Rudder 的正确方法是什么?

我们有一个现有的 cfengine3-community 安装,其中包含许多自定义承诺,它在大约 50 台机器上运行。我有兴趣切换到 Rudder,我想知道最好的迁移方式。Rudder 的最新版本似乎基于 cfengine 3.6.3,而我们正在运行最新的 cfengine,即 3.7.1。因此存在一些语法不兼容。只需换入最新的 cfengine 二进制文件就可以了吗?如果不行,正确的迁移方式是什么? ...

Admin

有没有办法可以更改 cfengine 策略服务器 IP,而无需重新启动所有客户端?
cfengine

有没有办法可以更改 cfengine 策略服务器 IP,而无需重新启动所有客户端?

我们需要更改 cfengine 策略服务器的 IP 地址。它将是同一台机器,其他一切都不会改变,只是 IP 会有所不同。有没有办法避免将所有客户端机器重新引导到该新地址?在 IP 切换之前对配置进行一些更改(并传播),以便所有客户端在集线器使用新地址重新启动后都可以开始从集线器读取数据? 但愿如此... 更新: 我认为答案可能是“否”。切换 IP 后,我最终编写了一个 shell 脚本,该脚本循环遍历所有客户端并通过 ssh 登录以再次运行 bootstrap 命令。工作正常。 ...

Admin

如何在单个客户端上暂时禁用 cfengine 承诺
cfengine

如何在单个客户端上暂时禁用 cfengine 承诺

我想知道在紧急情况下,暂时停止单个 cfengine 客户端执行某个承诺的最好、最快、最简单的方法是什么,而无需在 cfengine 服务器(集线器)上进行任何更改。 到目前为止,我的解决方案是编辑/var/cfengine/inputs/promises.cf并注释掉我想要停止的服务(在本例中,我希望 cfengine 停止尝试重新启动 mysqld)。然后我重新启动了 cfengine。但我不确定这是否是最好的方法(或者即使它不会破坏任何东西)。到目前为止,它似乎没有引起任何问题,但我只是想知道是否有更“可接受”的方法。 ...

Admin

使用 CFEngine 复制目录树(某些文件除外)
cfengine

使用 CFEngine 复制目录树(某些文件除外)

我正在使用 CFEngine 部署 Apache 站点。因此,我设置了一个存储库,并且我的代理正在从中复制文件。 问题是当我使用 vim 编辑文件时,它会创建交换文件。这些文件会被复制到服务器,这很糟糕,因为每次我启动编辑器时,所有这些机器都会下载交换文件。 大问题这会触发 apache 的重新启动。 TLDR:我如何告诉 CFEngine 忽略匹配的文件\..*\.swp? 以下是我现在所拥有的: files: "/etc/apache2/sites-available/" handle =>...

Admin

如何根据主机名错开计划的 cfengine 任务
cfengine

如何根据主机名错开计划的 cfengine 任务

我正在尝试在大型虚拟服务器池上执行计划任务,但我想尽量减少对虚拟机管理程序的性能影响,理想情况下一次在一台服务器上执行它。 想想这样的事情: Hr07.Min01.host_1:: "scheduled_service_restart" usebundle => service_restart; Hr07.Min02.host_2:: "scheduled_service_restart" usebundle => service_restart; Hr07.Mi...

Admin

承诺未在主机中触发 - cfengine
cfengine

承诺未在主机中触发 - cfengine

我是 cfengine 的新手。我创建了一个简单的承诺,在 /etc/test-cfengine 中创建了一个名为 testing 的文件 body common control { bundlesequence =>{"create_test_file"}; } bundle agent create_test_file { files: "/etc/test-cfengine/test-file" edit_line => addline, create ...

Admin

cf-agent 错误:“没有前置选项的意外参数”
cfengine

cf-agent 错误:“没有前置选项的意外参数”

根据此处的文档,我已经在我的策略服务器和主机上安装了 CFEngine: https://docs.cfengine.com/docs/3.5/getting-started-installation-installing-community.html 当我运行命令/var/cfengine/bin/cf-agent -B 10.0.0.253将我的主机引导至策略服务器时,我收到错误:“没有前面选项的意外参数:10.0.0.253 致命 CFEngine 错误:中止”。 我尝试在网上搜索但找不到可靠的答案。 谁知道可能是什么问题? ...

Admin

CFEngine - 对不同的服务器应用不同的策略
cfengine

CFEngine - 对不同的服务器应用不同的策略

我正在考虑在某些 Linux 服务器上使用 CFEngine。 我的问题是我需要能够根据服务器应用单独的策略。我查看了他们的所有文档,但找不到任何地方说可以或不可以这样做。 使用 CFEngine 可以做到这一点吗?或者我应该去别处看看。 ...

Admin

在 Ubuntu 12.04 上安装 CFEngine - 无法统计文件
cfengine

在 Ubuntu 12.04 上安装 CFEngine - 无法统计文件

我正在尝试在 Ubuntu 12.04 上安装 CFEngine。为简单起见,我使用虚拟机,其中安装了全新(已安装更新)版本的 Ubutu Server。我从 CFEngine 存储库安装了 CFEngine 3.5.1。但是,我不断收到错误: error: Can't stat file '/var/cfengine/inputs/lib/3.5/paths.cf' for parsing. (stat: No such file or directory) 果然,该文件不存在。事实上,没有 /var/cfengine/inputs/lib 文件夹。...

Admin