AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[cfengine](server)

Martin Hope
Tawm
Asked: 2013-08-08 16:18:38 +0800 CST

CFEngine 模板和覆盖文件

  • 0

我在使用 CFEngine 的模板系统时遇到问题。我安装了一个包,在这种特定情况下是 ganglia,它创建了一个默认配置文件。然后我想/etc/ganglia/gmond.conf根据它是收集服务器还是它只是提供信息以及服务器所在的颜色来添加行。所以我制作了一个模板,并在我想要不同信息的地方使用了一些变量。

当我手动删除/etc/ganglia/gmond.conf并运行 cfagent 时,模板会正确展开并且看起来正确。

当我使用 ganglia 包中的默认配置运行 cfagent 时,它只是将不存在的行附加到默认配置文件的底部。

现在expand_template我使用的块看起来像:

    "/etc/ganglia/gmond.conf"
            comment         => "Expanding gmond.conf template",
            create          => "true",
            edit_line       => expand_template("$(g.inputfiles)/modules/ganglia/templates/gmond.conf");

我猜我想在旁边使用一些东西,edit_line但我的 google-fu 让我失望了。

我们只使用标准库的 cfengine3 社区版。

cfengine
  • 1 个回答
  • 511 Views
Martin Hope
gnomie
Asked: 2012-10-11 01:20:44 +0800 CST

根据命令输出设置 cfengine3 类

  • 3

这个问题与How can I use the output of a command in cfengine3非常相似,但我认为答案不适用于我的情况。

我想通过“git pull”更新 git 存储库,并根据这是否会导致更改触发一些后续操作。

简化,如果通过某些主体有类似“匹配输出和设置类”if_output_matches的东西,我会想使用这样的东西:

bundle agent updateRepo {

commands:
  "/usr/bin/git pull"
    contain => setuidgiddir_sh("$(globals.user)","$(globals.group)","$(target)"),
    classes => if_output_matches("Already up-to-date.","no_update");

reports:
  no_update::
    "nothing updated";
}

body contain setuidgiddir_sh(owner,group,folder) {
  exec_owner => "$(owner)";
  exec_group => "$(group)";
  useshell => "true";
  chdir => "$(folder)";

}

那么,是否可以使用一个可能很昂贵的命令的输出并以此为基础做出一些决定?

该execresult功能对我来说不是一个好的选择,因为 a) 拉动有时可能会变得昂贵(不推荐遵循 cfengine3 参考)和 b) 不允许指定用户、组、工作目录——这对我来说很重要。存储库位于用户空间中,不属于 root。

cfengine
  • 1 个回答
  • 1302 Views
Martin Hope
awsiv
Asked: 2012-06-30 01:48:06 +0800 CST

如何在 cfengine3 中使用命令的输出

  • 8

我想列出目录内容并在其他地方使用结果:

bundle agent test
{

   commands:
      "ls /tmp/test/";

    reports:
    ubuntu::
       "print output here for example";  
# or add it to a variable which is how I really want to use it.
 }
configuration-management cfengine
  • 2 个回答
  • 1121 Views
Martin Hope
joeforker
Asked: 2010-03-23 10:39:52 +0800 CST

您如何组织cfengine3 的系统配置文件?

  • 0

您希望将系统配置文件(而不是 cfengine 语言)放在哪里以便 cfengine 复制到位?

configuration-management cfengine
  • 1 个回答
  • 571 Views
Martin Hope
joeforker
Asked: 2010-03-23 10:17:17 +0800 CST

我可以将 cfengine3 进程的 LHS: 行传递给 RHS 吗?

  • 2

我正在使用 cfengine 来启动 foobar 进程。显然,当我使用 process_select 时,LHS 被丢弃了?我可以简单地将 LHS 传递给函数,而不必将命令匹配模式放在正文参数中吗?

我只想匹配foobar属于特定用户的进程,因为另一个用户很容易运行foobar以进行测试。

bundle agent foobar {
processes:
    "foobar" # documented way would be to use .* here
        process_select => command("foobar"),
        restart_class => start_foobar;

commands:
    start_foobar::
        "/usr/bin/foobar";
}

body process_select command(c) {
    command => "$(c)";
    process_result => "command";
}
cfengine
  • 1 个回答
  • 227 Views
Martin Hope
joeforker
Asked: 2010-03-23 10:06:48 +0800 CST

如何在 cfengine 中读取 pid 文件?

  • 2

如何在 cfengine 3 中读取 pid 文件并在该进程未运行时重新启动该进程?

cfengine
  • 2 个回答
  • 279 Views
Martin Hope
joeforker
Asked: 2010-03-20 09:11:51 +0800 CST

如果我的磁盘已满 90% 以上,如何将 low_disk_space 类添加到 cfengine3?

  • 2

我想在 cfengine3 中设置一个类,以便在磁盘快满时执行操作。

cfengine
  • 2 个回答
  • 630 Views
Martin Hope
joeforker
Asked: 2010-03-20 05:33:26 +0800 CST

如何配置 cfengine3 以在 / 可用空间少于 10GB 时向我发送电子邮件?

  • 1

我想在我的服务器的可用磁盘空间低于 10GB 时收到通知。如何配置 cfengine3 来告诉我何时 / 有少于 10GB 的可用空间?

monitoring cfengine
  • 1 个回答
  • 1083 Views
Martin Hope
aaa90210
Asked: 2009-08-26 02:32:15 +0800 CST

cfengine3 file_copy 仅在源端更改

  • 0

我对所有文件复制承诺使用“摘要”复制方法,因为我们打包和部署软件的方式,我不能依赖 mtime 来更新文件的标准。由于各种原因,我没有使用客户端-服务器方法和中央配置服务器:而是我们将整个配置模块打包并部署到每个服务器,所以从 cf-engine 的角度来看,源和目标在服务器上是本地的跑步。

我在使用这种方法时遇到的问题是,当它们不同时,源总是会更新目标——这是我大部分时间想要的,通常是因为源已经更新。

但是,像许多其他 cfengine 用户一样,我们正在运行一个操作环境,有时必须立即应用紧急修复 - 这意味着我们没有时间重建和重新部署配置模块,并且修复通常会通过部署一个带有特定更改的压缩包。当然,如果 cf-engine 在 5 分钟后出现并恢复更改,这将是有问题的。

我们想要的是能够对我们的服务器进行小的、增量的更改,而不会恢复它们,直到下一个部署周期复制新的源文件。我们不认为随机文件损坏或错误更改涉及足够的风险来保证 cfengine 不断将部署恢复到其源副本 - 部署紧急修复并让它们保持这种状态直到下一次部署的能力将具有更大的价值和实用性.

所以,毕竟,我的问题是:cf-engine 是否能够检测当文件不同时是源还是目标发生了变化,如果是,它们是一种使用“摘要”复制方法的方法,但仅限于如果源端改变了?我对其他想法和方法也非常开放,因为我对整个配置管理的东西还是很陌生。

deployment configuration automation cfengine
  • 2 个回答
  • 332 Views
Martin Hope
Continuation
Asked: 2009-07-18 13:24:40 +0800 CST

如何使用 Puppet 或 Cfengine 设置 Cobbler?

  • 8

我听说过很多关于使用 Cobbler 和 Puppet/Cfengine 进行快速部署和配置的信息。

你能指点我一些教程或分享你如何做到这一点的经验吗?

也很想听听您用于快速配置和部署的任何其他系统。谢谢。

deployment puppet configuration cfengine cobbler
  • 4 个回答
  • 5320 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve