如何禁用每 30 分钟自动安排的 Puppet 运行?

如何禁用每 30 分钟自动安排的 Puppet 运行?

目的

目的是禁用每 30 分钟自动运行的 Puppet-agent。有可能改变间隔,但 Puppet-agent 的自动运行应该被完全禁用。


尝试一

根据本文档可以通过以下配置来禁用自动 Puppet-agent 运行:

/etc/puppet/puppet.conf

[agent]
daemonize=false

结果是

Notice: Run of Puppet configuration client already in progress; 
skipping  (/var/lib/puppet/state/agent_catalog_run.lock exists)

如果puppet手动运行,默认运行间隔为30分钟。


第二次尝试

user@hostname:~$ sudo puppet agent --disable

结果是

user@hostname:~$ sudo puppet agent -t
Notice: Skipping run of Puppet configuration client; 
administratively disabled (Reason: 'reason not specified');
Use 'puppet agent --enable' to re-enable.

第三次尝试

本文档是在谷歌搜索这个问答的问题后发现的,但提供的信息并没有回答这个问题。

答案1

“尝试一”应该有效。如果它已经在运行,你必须自己停止它。这只是防止将来的实例守护进程。如果我遗漏了什么,请说明为什么这不起作用。您也可以chkconfig puppet off && service puppet stop在 Red Hat 和衍生产品上这样做。

答案2

您需要确保 Puppet 代理未作为服务启动。 诸如systemctl或 之类的命令chkconfig是您的好朋友(例如systemctl disable puppetchkconfig puppet off)。 不确定大多数发行版是否支持。

然后您还应该确保代理已停止。例如systemctl stop puppetservice stop puppet

Systemd 有一个快捷方式,可以用一个命令完成这两项操作:systems disable --now puppet

您也可以使用 puppet 来完成上述操作:

puppet apply <(echo "service { puppet: ensure => false, enable => false }")

如果仍然不起作用,pkill puppet为了保险起见,请再试一次,如果仍然不起作用 - 请重新启动。

答案3

您是否在寻找如下命令:

puppet agent --disable

答案4

sudo service puppet stop如果你正在运行 puppet 守护进程

或者,如果您是这样配置的,请删除 cronjob。

相关内容