首页 > 代码库 > ansible-playbook 使用详解
ansible-playbook 使用详解
1. playbook参数详解:
hosts:hosts 用于指定要执行指定任务的主机其可以是一个或多个由冒号分隔主机组。 user:root 指定远程主机上执行任务的用户 remote_user:root vars:变量 tasks:任务 - name:描述 module:options 如:serverice name=httpd state=running shell:/sbin/setenforce 0 handlers:触发条件 files:文件赋权 template:模板
tags 用于让用户选择运行或略过playbook中的部分代码。ansible具有幂等性因此会自动跳过没有变化的部分即便如此有些代码为测试其确实没有发生变化的时间依然会非常地长。
此时如果确信其没有变化就可以通过tags跳过此些代码片断。
循环:
循环with_items: --- - hosts: testhost user: root tasks: - name: change mod for file file: path=/tmp/{{ item }} mode=600 owner=root group=root with_items: - 1.txt - 2.txt - 3.txt
条件判断使用handlers模块:
--- - hosts: testhost remote_user: root tasks: - name: test copy copy: src=http://www.mamicode.com/tmp/1.txt dest=/tmp/2.txt"111111" >> /tmp/2.txt
如果要使用handlers模块,则需要调用notify: test handlers是handlers模块的name,要保持一致。
从ansible主上拷贝1.txt到远程服务器2.txt,只有到copy完成了,才会执行handlers。
条件判断条件when:
--- - hosts: testhost remote_user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt when: ansible_system_vendor == "IBM"
注意变量要写对,不能写数组,数组的要注意.
cat /tmp/when.yml :
本文出自 “dayAndNight” 博客,请务必保留此出处http://hellocjq.blog.51cto.com/11336969/1894572
ansible-playbook 使用详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。