0

我在说 Ruby 方面几乎是个新手。我正在尝试为Puppet. 我的目标是基于这个变量:

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

编写一个模板,该模板又将创建一个 cron-job 文件,如下所示:

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 回答