Puppetを介して一部のサーバーの基本的な管理を行っています-サーバー自体は、ユーザーアカウントなどの他の側面を処理し、キーファイル(/ etc/passwdなど)の変更を検出する監視スクリプトを含むクラスター化されたシステムの一部として実行されます。 puppetがパッケージを更新すると、これらのキーファイルが変更され、監視システムがトリガーされる可能性があります。 (これは意図的ではありません)
監視システムには、状態をクリアするために手動で実行できるコマンドがあり、puppetが変更を適用するたびに、電子メールの受信を開始するときにこれを実行する必要があります。
コマンドを実行するためにpostrun_stageで実行するexecを定義できますが、これはデフォルトでpuppetが実行されるたびに起動し、変更が行われたかどうかに関係なく、レポートは常にpuppetが変更を加えたものとして表示されます。
Puppetが他の変更を適用した場合にのみ実行されるようにexecを設定する方法はありますか?
exec
リソースに専用のステージがある場合は、他のすべてのステージにサブスクライブさせることで、目的の動作を実装できます。
exec { "pacify-rkhunter":
...
subscribe => Stage['pre','main','aux'],
refreshonly => true,
}