- set_fact: job: '{{ {}|combine(cron.defaults, item.value, {"name": item.key}, recursive=True) }}' randomseed: "{{ inventory_hostname + item.key }}" - when: job.special_time == "random_daily" set_fact: job: '{{ job|combine({"weekday": "*"}) }}' - when: job.special_time == "random_weekly" set_fact: job: '{{ job|combine({"weekday": job.random_options.weekday | random(seed=(randomseed + "weekday"))}) }}' - when: job.special_time == "random_daily" or job.special_time == "random_weekly" set_fact: job: '{{ job|combine({"hour": job.random_options.hour | random(seed=(randomseed + "hour"))}) }}' - when: job.special_time == "random_daily" or job.special_time == "random_weekly" set_fact: job: '{{ job|combine({"minute": job.random_options.minute | random(seed=(randomseed + "minute"))}) }}' - name: add cron job users to node-exporter-textfile group when: cron.enable_monitoring ansible.builtin.user: name: '{{ job.user }}' groups: node-exporter-textfile append: yes - when: cron.enable_monitoring set_fact: job: '{{ job|combine({"job": "/usr/local/bin/monitor-cronjob.py %s %s %s"%(job.name|quote, ("%s %s * * %s"%(job.minute, job.hour, job.weekday))|quote, job.job|quote)}) }}' - name: add cron jobs cron: name: '{{ job.name }}' job: '{{ job.job }}' user: '{{ job.user }}' weekday: '{{ job.weekday }}' hour: '{{ job.hour }}' minute: '{{ job.minute }}'