繁体   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