2016-11-21 5 views
0

각 데이터베이스 인스턴스에 대해 여러 작업을 수행하려고합니다. 특히 crontab 항목을 구성해야합니다. 여기 with_items에 대한 여러 작업

내 호스트 항목입니다 :

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 (또는 둘 다)에 대한 이해가 부족하기 때문에 가능합니다. 아무도 나를 도와주세요.

답변

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"