木偶:只有当木偶做出改变的时候,如何运行一个木马

我们正在通过puppet做一些服务器的基本pipe理 – 服务器本身作为集群系统的一部分运行,处理诸如用户帐户等其他方面,还包括一个监视脚本,用于检测关键文件(/ etc / passwd等)中的更改。 如果木偶更新软件包,则可能会更改这些触发监控系统的密钥文件。 (这不是无意的)

监控系统有一个可以手动运行来清除状态的命令,每当puppet进行任何更改时,我们都必须这样做,当我们开始收到邮件时!

我们可以定义一个在run_stage后运行的exec来运行命令,但是这个默认情况下会在每次运行puppet时触发,然后我们的报告总是显示为puppet进行了修改,不pipe是否进行了修改。

有没有一种方法可以设置执行程序,使其仅在傀儡应用其他更改时才运行?

如果exec资源有一个专门的阶段,你可以实现所需的行为,让它订阅所有其他阶段,例如

 exec { "pacify-rkhunter": ... subscribe => Stage['pre','main','aux'], refreshonly => true, }