我在特定用户中运行了很多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
答案 0 :(得分:0)
您可以使用cron module通过指定user
参数来维护特定用户的crontab。要定期检查crontabs的状态,您可以在ansible master上设置运行playbook的cron作业(如果有的话)。为确保您的crontab不包含其他条目,您可以在使用playbook之前删除所有cron文件,但是您需要确保这些文件重写"没有与你的工作同时发生。
编辑:您的cron任务会立即创建一个cron作业,无需使用disabled: no
调用相同的任务。如果您的cron模块的任务包含state=present
(这是默认值)而没有disabled: yes
- 它将按您的定义设置作业。