Ansible:在一台主机上设置一个cron作业

时间:2017-12-11 08:34:51

标签: cron ansible

我正在部署一个也需要设置cron作业的2主机服务。这个工作应该只在两台机器中的一台机器上运行(我不关心哪台机器)。最简单的方法是什么?

  • 我知道Ansible中的shell模块支持“run_once”,但cron模块不支持。
  • 我可以在两台机器上设置cron作业,然后使用命令“crontab -r”删除一台机器上的所有作业(前提是不需要其他作业)。这很脏,但很容易。

任何更好的想法?

1 个答案:

答案 0 :(得分:1)

  

我知道Ansible中的shell模块支持" run_once",但cron模块没有。

错误。 run_once是任务的属性,而不是动作模块。

使用cron模块并为任务设置run_once(请注意缩进级别),例如:

- cron:
    name: "check dirs"
    minute: "0"
    hour: "5,2"
    job: "ls -alh > /dev/null"
  run_once: true