below is the main.yml
---
# your_playbook.yml
- hosts: all
become: yes
gather_facts: no
become_method: sudo
roles:
- include_role:
name: cron_job
vars:
cron_jobs:
- script_path: "/export/storage_mount.sh"
script_arguments: "action"
- script_path: "/export/service_status.sh"
script_arguments: ""
cron role:
---
- name: Create cron job
ansible.builtin.cron:
name: "Run script every 5 minutes"
minute: "5"
job: "/bin/bash {{ item.script_path }} {{ item.script_arguments }}"
state: present
loop: "{{ cron_jobs }}"
Role running output:
changed: [host01] => (item={'script_path': '/export/apps/scripts/storage_mount.sh', 'script_arguments': 'action'})
changed: [host01] => (item={'script_path': '/export/apps/scripts/service_status.sh', 'script_arguments': ''})
It only creates one entry not two entries in crontab
#Ansible: Run script every 5 minutes
5 * * * * /bin/bash /export/service_status.sh
How to fix this