Automation 为什么不是';主机是否自动拉取更改?

Automation 为什么不是';主机是否自动拉取更改?,automation,puppet,puppet-enterprise,Automation,Puppet,Puppet Enterprise,我的主机不会自动提取更改(至少30分钟一次)。我每次都必须手动强制它来查看更改。init.pp中是否缺少任何参数/资源描述?我的init.pp如下所示: class checkout { file { '/example/test12/test.sh': ensure => directory, mode => '0755', recurse => true, source => 'puppet:///extra/' } } 您的清单(例如,init.pp

我的主机不会自动提取更改(至少30分钟一次)。我每次都必须手动强制它来查看更改。init.pp中是否缺少任何参数/资源描述?我的init.pp如下所示:

class checkout {
file { '/example/test12/test.sh':
ensure  => directory,
 mode    => '0755',
 recurse => true,
source  => 'puppet:///extra/'
}
}

您的清单(例如,
init.pp
)指定应用什么,而不是何时应用。每个代理的配置决定了它执行目录运行的频率。如果您可以手动触发目录运行,但运行不会自动发生,那么最有可能的结论是puppet代理服务没有运行。或者,可能是所讨论的代理配置的运行间隔比您想象的要长——30分钟只是默认值。

我可以看到puppet代理服务在master和host中都已停止。我从未停止过它,但已经重新启动了几次。有没有办法让它自己停下来?话虽如此,puppet仍然在做它的工作(我的不同清单和init.pp),即使服务显示为已停止。对于这个时间间隔,它仍然是默认的30分钟。顺便说一句,它解决了这个问题。主持人被叫停了,但我不知道怎么办。真奇怪。可以让puppet确保代理服务已停止。此外,还可以通过外部调度程序(如
cron
)运行代理,而不是将其本身作为服务运行。如果master似乎停止了,但您仍然能够获得新的目录,那么您看到的是错误的东西。master和几乎所有的主机都停止了。但正如你所说,我使用的是一个cron,它每周做一次事情,而且做得很好。最近,我为不同的目的创建了一个新的init.pp,并在那里定义了一些资源,包括“recurse=>true”。我想这可能是某种原因造成的。另外,有没有办法立即启动主机,或者我必须手动启动?我有大约50台主机。我能想到的唯一一件事是,你可以放入一个清单,使代理或主机停止,那就是一个
服务
资源,它明确地确保服务停止。如果你有这样一个东西,它会停止服务,每次你运行代理,但我想你会知道这一点。更有可能是外部因素造成的。这可能与重新启动计算机一样简单,但没有将代理(或主机)配置为在启动时自动启动。