我目前在Chef中通过模板创建了两个文件。这两个模板当前都在修改时通知服务。
template '/etc/file1' do
source 'file1.erb'
owner 'root'
group 'root'
mode '644'
notifies :restart, 'service[foo]'
end
template '/etc/file2' do
source 'file2.erb'
owner 'root'
group 'root'
mode '600'
notifies :restart, 'service[foo]'
end
service "foo" do
action :nothing
end
有没有办法只在这些文件中的任何一个被更改时才能调用服务?原因是因为如果两个文件都被更改,我想避免执行两个“foo”实例。
答案 0 :(得分:2)
在您的示例中,'foo'服务将仅被通知一次(并且仅执行一次),并且仅在任何文件发生更改时通知。正如您所期望的那样。