Recurso definido pelo Puppet com recurso cron

3

No fantoche, estou tentando criar um recurso definido com um recurso de cron nele. É para um site que tem um trabalho em lotes que precisa ser executado em determinados dias.

define website ( $sitename,
             $sitealias,
             $document_root,
             $cronjobs,
             $cron_weekday,
             $cron_minute,
             $cron_hour,

... algum outro código ...

    cron { "${title}-batchjob":
       user => "apache",
       command => "cd ${document_root}/scripts && /usr/bin/php ./batch.php &> /dev/null",
       minute => "${cron_minute}",
       hour =>  "${cron_hour}",
       weekday => "${cron_weekday}",
    }

)

O problema é que, se eu quiser executar este cron job em vários dias, como terça e quinta, eu teria que definir $ weekday = '2,4'.

Mas, para fazer isso, o recurso cron define o parâmetro do dia da semana como uma matriz.

Mas como eu passo uma matriz como uma variável para o recurso definido?

Se eu declarar esse recurso refinado da seguinte forma:

website { 'mysite':
    sitename => 'www.mysite.com',
    sitealias => 'mysite',
    document_root => '/var/www/mysite.com',
    cronjobs => true,
    cron_hour => '2',
    cron_minute => '0',
    cron_weekday => '2,4',
}

Recebo um erro dizendo que 24 não é um dia útil válido.

Parece que tenho que usar uma matriz para cron_weekday, mas não sei como passar uma variável como uma matriz no recurso definido.

    
por Jurgen 16.11.2016 / 20:00

2 respostas

1

O problema aqui é este:

weekday => "${cron_weekday}",

Você está basicamente convertendo sua matriz em uma string.
Altere para:

weekday => $cron_weekday,

E, em seguida, ligue para passar o parâmetro assim:

cron_weekday => [2, 4],

E, claro, faça o mesmo para as outras variáveis também.

    
por 16.11.2016 / 20:40
0

Os colchetes são seus amigos.

Adicione o array assim:

cron_weekday => [2, 4],

Você pode encontrar mais informações no link

    
por 16.11.2016 / 20:38

Tags