0

私はRubyを話すのはほとんど初心者です。のテンプレート(.erb)を作成しようとしていPuppetます。私の目標は、この変数に基づくことです。

$c_repo = 'repo1,repo1-condb,repo2,....'

テンプレートを作成すると、次のようなcronジョブファイルが作成されます。

43 2 * * * root /etc/zmfs/zmfs-check.sh repo1 >> /var/log/zmfs.log 2>&1
45 2 * * * root /etc/zmfs/zmfs-check.sh repo1-condb >> /var/log/zmfs.log 2>&1
....

ただし、単一の値でかなり単純なものを作成できます。

$c_repo = 'repo1'
43 2 * * * root /etc/zmfs/zmfs-check.sh <%= c_repo %> >> /var/log/zmfs.log 2>&1

しかし、リストのループを作成する方法を理解することはできません。どんな助けでも大歓迎です。乾杯!!

4

1 に答える 1

1

これは機能するはずです:

<% c_repo.split(',').each_with_index do |repo, i| -%>
<%= (i*2)%60 %> 2 * * * root /etc/zmfs/zmfs-check.sh <%= repo %> /var/log/zmfs.log 2>&1
<% end -%>

出力:

0 2 * * * root /etc/zmfs/zmfs-check.sh repo1 /var/log/zmfs.log 2>&1
2 2 * * * root /etc/zmfs/zmfs-check.sh repo1-condb /var/log/zmfs.log 2>&1
4 2 * * * root /etc/zmfs/zmfs-check.sh repo2 /var/log/zmfs.log 2>&1
于 2011-12-07T14:25:26.890 に答える