Ansible>如何具体cronjob检查

时间:2017-08-22 08:32:49

标签: cron ansible

我在特定用户中运行了很多cron作业。尝试检查是否启用了单个cron作业。而且,在某些时期,我会每天检查一下。

- name: cronjob for test script
  remote_user: {{root_user}}
  become: true
  cron: 
    user: "{{ app_user }}"
    name: "test script"
    hour: 20
    weekday: 6
    job: "/bin/bash {{test}}/test.sh >> {{test}}/test-cron-error.log 2>&1"   
  tags:
    - deploy_test

- name: enable for test script
  remote_user: {{root_user}}
  become: true
  cron: 
    user: "{{ app_user }}"
    name: "test script"
    hour: 20
    weekday: 6
    disabled: no
    job: "/bin/bash {{test}}/test.sh >> {{test}}/test-cron-error.log 2>&1"   
  tags:
    - enable_deploy_test

1 个答案:

答案 0 :(得分:0)

您可以使用cron module通过指定user参数来维护特定用户的crontab。要定期检查crontabs的状态,您可以在ansible master上设置运行playbook的cron作业(如果有的话)。为确保您的crontab不包含其他条目,您可以在使用playbook之前删除所有cron文件,但是您需要确保这些文件重写"没有与你的工作同时发生。

编辑:您的cron任务会立即创建一个cron作业,无需使用disabled: no调用相同的任务。如果您的cron模块的任务包含state=present(这是默认值)而没有disabled: yes - 它将按您的定义设置作业。