Pergunta

Sou praticamente um novato em falar Ruby.Estou tentando escrever um modelo (.erb) para Puppet.Meu objetivo é com base nesta variável:

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

para escrever um modelo, que por sua vez criará um arquivo cron-job como este:

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
....

Posso criar um bastante simples com valor único:

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

mas simplesmente não consigo descobrir como criar o loop para a lista.Qualquer ajuda muito apreciada.Saúde!!

Foi útil?

Solução

Isso deve funcionar:

<% 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 -%>

Saída:

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top