Chef infra 当没有对erb模板进行任何更改时,Chef会继续重新启动服务

Chef infra 当没有对erb模板进行任何更改时,Chef会继续重新启动服务,chef-infra,Chef Infra,下面是我安装monit的方法。我每60秒运行一次chef客户端进行调试 如果重新启动monit evry 60秒,则为厨师长。不,我要停止吗?我以为厨师会重新开始,如果改变模板 [Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing package[monit] action install (monit::default line 5) [Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing servi

下面是我安装monit的方法。我每60秒运行一次chef客户端进行调试

如果重新启动monit evry 60秒,则为厨师长。不,我要停止吗?我以为厨师会重新开始,如果改变模板

[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing package[monit] action install (monit::default line 5)
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action enable (monit::default line 9)
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action start (monit::default line 9)
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing template[monitrc] action create (monit::default line 14)
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: template[monitrc] mode changed to 644
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: template[monitrc] sending restart action to service[monit] (immediate)
[Fri, 30 Mar 2012 06:12:18 +0000] INFO: Processing service[monit] action restart (monit::default line 9)
[Fri, 30 Mar 2012 06:12:22 +0000] INFO: service[monit] restarted
[Fri, 30 Mar 2012 06:12:22 +0000] INFO: Processing template[monitstart] action create (monit::default line 25)



package "monit" do
  action :install
end

service "monit" do
  supports :status => true, :restart => true, :start => true,:stop => true
  action [ :enable, :start ]
end

template "monitrc" do
  path "/etc/monit/monitrc"
  source "monitrc.erb"
  owner "root"
  group "root"
  mode "0644"
  #notifies :restart, resources(:service => "monit")
  #notifies :restart, "service[monit]"
  notifies :restart, resources(:service => "monit"), :immediate
end

template "monitstart" do
  path "/etc/default/monit"
  source "monit.erb"
  owner "root"
  group "root"
  mode "0644"
  notifies :restart, "service[monit]"
  #notifies :restart, resources(:service => "monit"), :immediate
end

每次monit服务重新启动时,它都会将文件
/etc/monit/monitrc
权限更改为600,这样只有root用户才能读写它,这可能是某种安全增强

但是,当你的配方运行时,它会将权限更改为644,重新启动该服务,将文件恢复为600。就像一条狗在追逐自己的尾巴

一个简单的解决方案是将配方更改为在模板上应用600,以避免重新启动