【问题标题】:Ansible: setup a cron job on one hostAnsible:在一台主机上设置一个 cron 作业
【发布时间】:2017-12-11 08:34:50
【问题描述】:

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

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

有更好的想法吗?

【问题讨论】:

    标签: cron ansible


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-21
      • 2015-07-05
      • 2019-01-17
      • 2016-05-23
      • 2012-12-20
      • 2015-10-17
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多