我正在尝试编写一个厨师食谱,我需要用一些逻辑来检测目录中的文件是否在Chef主机中更改(添加/删除/修改),如果发生任何更改,我可能会使用notify重启服务。
请通过提供简单的逻辑来帮助我,因为文件不会发生剧烈变化。
/local/filebeat/logs
是目录,当有新文件添加到其中时,我希望重新启动filebeat服务。
directory '/local/filebeat/logs' do
owner 'root'
group 'root'
mode '0755'
recursive true
notifies :restart, 'service[filebeat]'
end
答案 0 :(得分:1)
您可以使用Chef的通知功能:notifies
和subscribes
。每个资源在“更新”时触发其通知(其精确定义因每个资源而异),然后可用于对其他资源执行操作,在这种情况下,您希望对:restart
操作service
{1}}资源最有可能。