Puppet

Puppet:除第一次外以 noop 模式執行

  • January 18, 2019

我試圖弄清楚如何在新引導的節點上執行 Puppet 配置,然後,從那時起,僅作為 noop 執行以收集有關基礎設施更改/漂移的報告。

所以……假設我有這個簡單的清單:

node puppeta1, puppeta2 {    
 file { "/var/tmp/testfile2":
   noop => true,
   ensure => "present",
   owner => "root",
   group => "root",
   mode => "664",
   content => "This is a test file created using puppet.
               Puppet is really cool",
 }

..

在這種情況下,我只想/var/tmp/testfile2在第一次創建puppeta1andpuppeta2節點時創建文件。從那時起,我只想在noop模式下執行它來檢測文件是否被修改。

我個人會保留您的資源聲明,因為它們沒有noop,並在帶外使用puppet apply或在啟動時執行 Puppet,然後通過編輯puppet agent配置 Puppet 系統服務以使用:--noop``/etc/puppetlabs/puppet/puppet.conf

[agent]
noop = true

或者,完全禁用系統服務,並添加--noop到您的 cron 條目中。

參考:https ://puppet.com/docs/puppet/5.4/configuration.html#noop

使用file資源類型,添加會replace => false達到您的需要嗎?然後,如果文件失去,Puppet 將創建該文件,但如果文件內容隨後發生更改,則不會覆蓋對該文件所做的任何可能更改。

引用自:https://serverfault.com/questions/949681