with_items 的多项操作

Multiple actions for with_items

我正在尝试为每个数据库实例执行多个操作,特别是配置一个 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(或两者)缺乏了解。 谁能帮帮我。

这些都是碰巧在同一个列表上迭代的独立任务。因此,您想像这样分解任务:

- 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"