在厨师食谱中每 3 小时安排一次 cron

Schedule cron every 3 hour in chef recipe

如何安排每 3 小时 运行 的 cron 作业? 这是我的代码:

cron_d 'hdfs_space.sh' do
  minute '59'
  command '/var/lib/hadoop-hdfs/hdfs_space.sh'
  user 'hdfs'
  only_if {File.exists?('/var/lib/hadoop-hdfs/hdfs_space.sh')}
end

现在是“*/3”点吗?

谢谢

Chef cron resource 有一个 hour 属性。您的 cron 声明应该类似于:

cron 'hdfs_space.sh' do
  hour '*/3'
  command '/var/lib/hadoop-hdfs/hdfs_space.sh'
  user 'hdfs'
  only_if {File.exists?('/var/lib/hadoop-hdfs/hdfs_space.sh')}
end

要在厨师食谱中每 3 小时安排一次 cron,请使用 cron 的小时和分钟属性。

cron 'hdfs_space.sh' do
    minute '0'
    hour '*/3'
    command '/var/lib/hadoop-hdfs/hdfs_space.sh'
    user 'hdfs'
    only_if {File.exists?('/var/lib/hadoop-hdfs/hdfs_space.sh')}
end

如果我们不指定分钟选项,cron 将每 3 小时每分钟执行一次。因此,与小时属性一起使用分钟属性并将其设置为“0”。