2016-04-12 3 views
0

これは私にとっては説明が難しいです。

私は、クローンジョブのための人形に設定された時間をプッシュしたいです。

define cron::job (
    $url, 
    $time_offset, 
    $ensure = 'present', 
    $minute = 5 + $time_offset, 

) 

私の実際の仕事では、* /と分変数を使いたいと思います。これは可能ですか?私の現在の実装は失敗しているので、私はこれについて完全に間違った方法をとっていることを示唆するドキュメントの答えを見つけることができないようです。

これは私のcronの仕事です。

cron { "job": 
    command => "wget -O - --save-cookies cookies.txt --load-cookies cookies.txt --keep-session-cookies https://${url}/ >/dev/null 2>/dev/null", 
    user => 'housekeeper', 
    minute => '*/$minute', 
    ensure => $ensure, 
    } 

フィードバック/提案をいただきありがとうございます。

たとえば、5分ごとではなく分単位を使用する方が良いでしょうか?

私はこれをやりたいのですが、私はcronジョブを同じままにして、各サイトのクラスにオフセットを渡したいのですか?

答えて

2

これは動作します:

define cron::job (
    $url, 
    $time_offset, 
) { 
    $minute = 5 + $time_offset 
    cron { "cron ${name}": 
    ensure => present, 
    command => "wget -O - --save-cookies cookies.txt --load-cookies cookies.txt --keep-session-cookies https://${url}/ >/dev/null 2>/dev/null", 
    user => 'housekeeper', 
    minute => "*/${minute}", 
    require => User['housekeeper'], 
    } 
} 

user { 'housekeeper': 
    ensure => present, 
} 

cron::job { 'job1': 
    url => 'http://example1.com', 
    time_offset => 10, 
} 
cron::job { 'job2': 
    url => 'http://example2.com', 
    time_offset => 15, 
} 

その後

[[email protected] ~]# puppet apply /tmp/foo.pp 
Notice: Compiled catalog for centos-72-x64 in environment production in 0.21 seconds 
Notice: /Stage[main]/Main/User[housekeeper]/ensure: created 
Notice: /Stage[main]/Main/Cron::Job[job2]/Cron[cron job2]/ensure: created 
Notice: /Stage[main]/Main/Cron::Job[job1]/Cron[cron job1]/ensure: created 
Notice: Finished catalog run in 0.05 seconds 

そして

[[email protected] ~]# cat /var/spool/cron/housekeeper 
# HEADER: This file was autogenerated at 2016-04-12 11:29:15 +0000 by puppet. 
# HEADER: While it can still be managed manually, it is definitely not recommended. 
# HEADER: Note particularly that the comments starting with 'Puppet Name' should 
# HEADER: not be deleted, as doing so could cause duplicate cron jobs. 
# Puppet Name: cron job2 
*/20 * * * * wget -O - --save-cookies cookies.txt --load-cookies cookies.txt --keep-session-cookies https://http://example2.com/ >/dev/null 2>/dev/null 
# Puppet Name: cron job1 
*/15 * * * * wget -O - --save-cookies cookies.txt --load-cookies cookies.txt --keep-session-cookies https://http://example1.com/ >/dev/null 2>/dev/null 
+0

パーフェクトを、それは二重引用符を使用するだけの原因でした。どうもありがとう。 –

+0

それを聞いてうれしい。 –

関連する問題