Puppet/Ruby:如何在 bash 行中使用 ruby 变量



我的Puppet环境中有一个Nagios NRPE模块。

nrpe.cfg模板中,我配置了一些if statements,以便为特定主机设置特定检查。

例:

<% if @hostname =~ /rsd+/ -%> 
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H rs01.company.com -p 25 -e rs01.company.com 
<% end -%> 

意义:如果主机名以字符 rs 开头,后跟数字,则在 if statement 块中应用 check 命令。

我想将支票更改为这样的内容:

command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H @hostname -p 25 -e @hostname

但问题是@hostname是一个 ruby 变量,check 命令是用 bash 编写的。

怎样才能实现我的目标?

<% if @hostname =~ /rsd+/ -%> 
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H <%= @hostname -%> -p 25 -e <%= @hostname -%>
<% end -%> 

相关内容

  • 没有找到相关文章

最新更新