Question

Je suis à peu près un novice en parlant Ruby. J'essaye d'écrire un modèle (.erb) pour Puppet. Mon objectif est de baser sur cette variable:

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

Pour écrire un modèle, qui à son tour créera un fichier Cron-Job comme celui-ci:

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

Je peux en créer une valeur unique avec une seule valeur:

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

Mais je ne peux pas comprendre comment créer la boucle de la liste. Toute aide grandement appréciée. Acclamations!!

Était-ce utile?

La solution

Cela devrait fonctionner:

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

Production:

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top