Cron Ansible>;如何进行作业检查

Cron Ansible>;如何进行作业检查,cron,ansible,Cron,Ansible,我有很多cron作业在特定的用户环境中运行。尝试检查单个cron作业是否已启用。此外,每天在某个时段,我都会通过ansible进行检查 - name: cronjob for test script remote_user: {{root_user}} become: true cron: user: "{{ app_user }}" name: "test script" hour: 20 weekday: 6 job: "/bin/bas

我有很多cron作业在特定的用户环境中运行。尝试检查单个cron作业是否已启用。此外,每天在某个时段,我都会通过ansible进行检查

- 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
通过指定
user
参数,可以使用为特定用户维护crontab。要定期检查crontab的状态,可以在ansible master上设置一个运行playbook的cron作业(如果有的话)。为了确保crontab不包含其他条目,可以在使用playbook之前删除所有cron文件,但是需要确保这些“重写”不会与作业同时发生


编辑:您的cron任务立即创建cron作业,不需要在禁用
的情况下调用同一个任务:no
。如果您有一个带有cron模块且
状态=present
(这是默认设置)且未禁用
的任务:yes
-它将按照您的定义设置作业。

如何在某个时段检查它是否启用?你能给我举个例子吗?如果我们想禁用cron,那么我们可以使用
disabled:yes
,对于enabled
disabled:no
。但这并没有满足我的要求。我想检查特定的cron作业状态(enabled | disabled)@i,Ansible擅长确认所需状态,而不擅长列出当前状态,因此正如Andrew所建议的,您可以定期删除所有条目并使用Ansible强制执行您的条目。