如何禁用每 30 分钟发生一次的自动计划 Puppet 运行?

030*_*030 9 puppet-agent

目的

目的是禁用每 30 分钟发生一次的自动 Puppet-agent 运行。可以更改时间间隔,但应完全禁用自动 Puppet-agent 运行。


尝试一

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

/etc/puppet/puppet.conf

[agent]
daemonize=false
Run Code Online (Sandbox Code Playgroud)

结果是

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

如果以 30 分钟的默认运行间隔手动运行 puppet。


尝试二

user@hostname:~$ sudo puppet agent --disable
Run Code Online (Sandbox Code Playgroud)

结果是

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.
Run Code Online (Sandbox Code Playgroud)

尝试三

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

Aar*_*ley 11

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


chu*_*utz 5

您需要确保 puppet 代理未作为服务启动。像systemctl, or chkconfigare your friend 之类的命令(例如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 }")
Run Code Online (Sandbox Code Playgroud)

如果它仍然不起作用,pkill puppet为了很好的措施,然后再试一次,如果它仍然不起作用 - 重新启动。