notify、subscribe以及refreshonly 在多个资源与Exec类型资源依赖时,notify、subscribe以及refreshonly就很常用了。
这种情况多见于配置文件更新、防火墙配置调整等等,基本上是配置一类的,像Nagios这类监控系统也是可以这么操作(监控配置调整必须要重启daemon啊,麻烦)。
onlyif onlyif只会使Exec在返回0的时候才会执行,常用的命令是test命令。
如果直接输入命令返回0但是Exec还是执行时,不妨加入test看看,像我这一条:
onlyif => "grep 'dport 80 -j ACCEPT' /etc/sysconfig/iptables | wc -l",
就是无效的,虽然按照其格式返回了,于是后来修改成这样:
onlyif => "test `grep 'dport 80 -j ACCEPT' /etc/sysconfig/iptables | wc -l` -eq 0",
于是就OK了