是否始终使用Ansible在单个主机上运行任务?
我正在编写一个从特定位置下载数据库转储的任务。它将始终在同一台主机上运行 因此,我在主要剧本中包括以下任务:是否始终使用Ansible在单个主机上运行任务?,ansible,ansible-playbook,Ansible,Ansible Playbook,我正在编写一个从特定位置下载数据库转储的任务。它将始终在同一台主机上运行 因此,我在主要剧本中包括以下任务: tasks: include: tasks/dl-db.yml 任务的内容是: --- - name: Fetch the Database fetch: src=/home/ubuntu/mydb.sql.gz dest=/tmp/mydb.sql.bz fail_on_missing=yes 但我希望它从一个特定的主机而不是所有主机获取 任务是正确的方法吗?如
tasks:
include: tasks/dl-db.yml
任务的内容是:
---
- name: Fetch the Database
fetch: src=/home/ubuntu/mydb.sql.gz dest=/tmp/mydb.sql.bz fail_on_missing=yes
但我希望它从一个特定的主机而不是所有主机获取
任务是正确的方法吗?如果您需要做的只是它只运行一次,而不是在每个主机上运行,您可以这样使用: 然后将从运行该任务的第一台主机运行该任务。如果您想专门针对特定主机,可以通过
委托_
进一步限制此操作:
---
- name: Fetch the Database
run_once: true
delegate_to: node1
fetch: src=/home/ubuntu/mydb.sql.gz dest=/tmp/mydb.sql.bz fail_on_missing=yes
如果您只需要运行一次,而不是在您可以使用的每台主机上运行一次,则如下所示: 然后将从运行该任务的第一台主机运行该任务。如果您想专门针对特定主机,可以通过
委托_
进一步限制此操作:
---
- name: Fetch the Database
run_once: true
delegate_to: node1
fetch: src=/home/ubuntu/mydb.sql.gz dest=/tmp/mydb.sql.bz fail_on_missing=yes
hosts
不是任务的有效属性hosts
不是任务的有效属性