【问题标题】:Puppet/Ruby: How to use a ruby variable in a bash line?Puppet/Ruby:如何在 bash 行中使用 ruby​​ 变量?
【发布时间】:2015-05-13 02:03:44
【问题描述】:

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

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

例子:

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

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

我想把支票改成这样:

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

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

我怎样才能实现我的目标?

【问题讨论】:

    标签: ruby bash centos puppet


    【解决方案1】:
    <% if @hostname =~ /rs\d+/ -%> 
    command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H <%= @hostname -%> -p 25 -e <%= @hostname -%>
    <% end -%> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 2013-03-03
      • 1970-01-01
      • 2011-11-30
      • 2013-12-14
      • 2021-08-28
      相关资源
      最近更新 更多