簡體   English   中英

Puppet:通過 Hiera 的 Cron?

[英]Puppet: Crons via Hiera?

我正在嘗試將 hiera 用於我的 crons。 不幸的是,這不適用於cron_core

# common.yaml
---
my_module::cron::job::multiple:
  'my_cronjobs':
    jobs:
      # job1
      - {
          minute: 30,
          hour: 10,
          date: '*',
          month: '*',
          weekday: '*',
          user: user,
          command: '/bin/sleep 120',
          description: 'sleep for 2 min',
        }
      # job2
      - {
          minute: 0,
          hour: 11,
          date: '*',
          month: '*',
          weekday: '*',
          user: user,
          command: '/bin/sleep 60',
          description: 'sleep for 1 min',
        }

在我的 class 我試過

class my_module(){
    # enable crons
    include cron
}

但隨后它因Evaluation Error: Error while evaluating a Function Call, Could not find class::cron

有沒有辦法用puppetlabs/cron_core解決這個問題?

所以要注意兩點。 首先,您不需要使用cron_core cron資源類型作為標准包含在內。 其次, cron是資源類型,不是class,所以不能include

如果您想使用 Hiera 創建 cron 作業,請嘗試使用create_resources function。 重組你的 Hiera 看起來像

my_module::cron::job::multiple:
 'sleep for 2 minutes': {
          minute: 30,
          hour: 10,
          date: '*',
          month: '*',
          weekday: '*',
          user: user,
          command: '/bin/sleep 120',
          description: 'sleep for 2 min',
        }
  'sleep for 1 minute': {
          minute: 0,
          hour: 11,
          date: '*',
          month: '*',
          weekday: '*',
          user: user,
          command: '/bin/sleep 60',
          description: 'sleep for 1 min',
        }

然后您就可以使用添加資源

$cron_job_hash = lookup('my_module::cron::job::multiple', Hash, 'hash', {})
create_resources('cron', $cron_job_hash)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM