我有一个包含以下主机的 list ,如下所示(第一个集群)
[elasticsearch-cluster-india]
elasticsearch-01-mumbai ansible_host=10.0.87.19
elasticsearch-02-mumbai ansible_host=10.0.87.20
elasticsearch-03-mumbai ansible_host=10.0.87.21
我有下面不同的集群
[elasticsearch-cluster-kyrgyzstan]
elasticsearch-01-bishkek ansible_host=10.0.92.2
elasticsearch-02-bishkek ansible_host=10.0.92.3
elasticsearch-03-bishkek ansible_host=10.0.92.4
我想运行以下任务
- name: Set up snapshot cron job
cron:
name: "Elasticsearch backup"
minute: 59
hour: 23
job: "{{ es_snapshot_snapshot_script_path }}/snapshot_es.sh"
那么如何仅在我组中的第一台主机上执行此任务?
我只想在主机 elasticsearch-01-bishkek
和 elasticsearch-01-mumbai
最佳答案
向主机添加变量:
[elasticsearch-cluster-india]
elasticsearch-01-mumbai ansible_host=10.0.87.19 do_backup=yes
elasticsearch-02-mumbai ansible_host=10.0.87.20
elasticsearch-03-mumbai ansible_host=10.0.87.21
然后检查它:
- name: Set up snapshot cron job
cron:
name: "Elasticsearch backup"
minute: 59
hour: 23
job: "{{ es_snapshot_snapshot_script_path }}/snapshot_es.sh"
when: do_backup|default(false)|bool
关于ansible - 在主机上执行任务的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65987773/