我正在尝试为每个数据库实例执行多个操作,特别是配置crontab条目。
这是我的主持人条目:
hkxtsdbdv1 ansible_host=hkxtsdbdv1.alpha.lftltd.net instances='["XTS_DEV","XTS_UAT","XTS_OPT"]'
这是我试图运行的剧本:
- hosts: "{{hosts}}"
tasks:
- name: add_cron_entries
with_items: "{{ instances }}"
cron: name="RMAN {{item}} Archivelog Backup" minute="0" hour="*" job="cron.sh rman.pl {{item}} archivelog"
# - cron: name="RMAN {{item}} Database Backup" minute="0" hour="0,4,8,12,16,20" job="cron.sh rman.pl {{item}} database"
# - cron: name="RMAN {{item}} Database Backup" minute="0" hour="1" weekday="0" job="cron.sh rman.pl {{item}} validate"
我已经尝试了各种方法让这个工作,但努力,不确定是因为我缺乏对YAML或Ansible(或两者)的理解。 请有人帮帮我。
答案 0 :(得分:1)
这些都是碰巧在同一个列表上迭代的独立任务。因此,你想要像这样打破你的任务:
- hosts: "{{hosts}}"
tasks:
- name: archivelog backup cron
with_items: "{{ instances }}"
cron: name="RMAN {{item}} Archivelog Backup" minute="0" hour="*" job="cron.sh rman.pl {{item}} archivelog"
- name: database backup cron
with_items: "{{ instances }}"
cron: name="RMAN {{item}} Database Backup" minute="0" hour="0,4,8,12,16,20" job="cron.sh rman.pl {{item}} database"
- name: database backup validation cron
with_items: "{{ instances }}"
cron: name="RMAN {{item}} Database Backup" minute="0" hour="1" weekday="0" job="cron.sh rman.pl {{item}} validate"