簡體   English   中英

檢查文件是否存在人偶模板

[英]Check if a file exists with puppet template

我嘗試檢查運行木偶代理的客戶端上是否存在文件。 在我的木偶大師上,我有一個template.erb像這樣:

<% if File.exists?('/usr/bin/lwp-request') %>SCRIPTWHITELIST="/usr/bin/lwp-request"<% end %>

我的rkhunter模塊需要模板中的這段小代碼。 結果始終為false,但是該文件存在。

如果將文件添加到人偶主文件上,則結果為true。 因此,Ruby代碼似乎在主數據庫上執行。

如果客戶端上存在文件,如何檢查模板?

在人偶2.7.5和2.8.1上測試。

謝謝

編譯清單和模板時,關於節點的唯一信息是節點在請求目錄時發送的事實

如果您需要節點中的其他信息,則需要添加一個自定義事實 ,以檢索所需的信息(例如文件是否存在)。 然后,您可以在模板內部使用自定義事實。

在一個Puppet模塊中,創建一個自定義事實lib/facter/lwp.rb

Facter.add(:lwp_request_exists) do
  setcode do
    File.exists?('/usr/bin/lwp-request')
  end
end

然后在erb模板中使用類似以下內容的內容:

<% if $::lwp_request_exists -%>
some code...
<% end -%>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM