ansible-role-cron/tasks/job.yml

32 lines
1.1 KiB
YAML

- set_fact:
job: '{{ {}|combine(cron.defaults, item.value, {"name": item.key}, recursive=True) }}'
randomseed: "{{ inventory_hostname + item.key }}"
- name: add cron jobs (random_daily)
when: job.special_time == "random_daily"
cron:
name: "{{ job.name }}"
job: "{{ job.job }}"
user: "{{ job.user }}"
hour: "{{ job.random_options.hour | random(seed=(randomseed + 'hour')) }}"
minute: "{{ job.random_options.minute | random(seed=(randomseed + 'minute')) }}"
- name: add cron jobs (random_weekly)
when: job.special_time == "random_weekly"
cron:
name: "{{ job.name }}"
job: "{{ job.job }}"
user: "{{ job.user }}"
weekday: "{{ job.random_options.weekday | random(seed=(randomseed + 'weekday')) }}"
hour: "{{ job.random_options.hour | random(seed=(randomseed + 'hour')) }}"
minute: "{{ job.random_options.minute | random(seed=(randomseed + 'minute')) }}"
- name: add cron jobs (not special)
when: not job.special_time
cron:
name: "{{ job.name }}"
job: "{{ job.job }}"
user: "{{ job.user }}"
weekday: "{{ job.weekday }}"
hour: "{{ job.hour }}"
minute: "{{ job.minute }}"