ansible 之 只执行一次

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible 之 只执行一次相关的知识,希望对你有一定的参考价值。

只执行一次

某些时候,我们希望某个task只执行一次,即使它被绑定到了多个主机上。例如在一个负载均衡器后面有多台应用服务器,我们希望执行一个数据库迁移,只需要在一个应用服务器上执行操作即可。

可以使用run_once语句来处理:

- name: run the database migrateions
  command: /opt/run_migrateions
  run_once: true

还可以与local_action配合使用,如下:

- name: run the task locally, only once
  command: /opt/my-custom-command
  connection: local
  run_once: true

还可以与delegate_to配合使用,让这个只执行一次的任务在指定的机器上运行:

- name: run the task locally, only once
  command: /opt/my-custom-command
  run_once: true
  delegate_to: app.a1-61-105.dev.unp

===========================================================================

以上是关于ansible 之 只执行一次的主要内容,如果未能解决你的问题,请参考以下文章

ansible 之 tag

ansible-playbook之循环(Loops)

ansible

Ansible 日常使用技巧(上)

运维自动化之ansible

Linux里面ansible作用是啥?