1、ansible有两种调用方式,一种是临时语句,一种是yml文件调用,语法格式分别为:
ansible all -m ping
ansible-playbook test.yml
2、test.yml为yaml文件,yaml使用空白、缩进、分行组织数据。
3、yaml有如下几个基本规则:
·大小写敏感
·缩进表示层级关系
·禁止使用tab键
·缩进长度没有限制,只要元素对齐就表示 这些元素属于一个层级
·#号注释
4、yaml的数据结构有如下规则:
·使用冒号(:)表示键值对:
age:12
name:huang
·使用连字符(-)表示数组:
-a
-b
-c
5、复合使用的例子:
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
6、 test.yml
---
- hosts: webservers
gather_facts: false
tasks:
- name: chattr -i
shell: chattr -i /etc/shadow
- name: copy ssh key
shell: echo 'xxxxxxxxx' |passwd --stdin root
- name: chattr +i
shell: chattr +i /etc/shadow
hosts表示主机群组,gather_facts表示是否获取主机的信息,空格间的对齐必须严格,每个name代表一个任务,如果中间某个任务出错,下面的任务不会继续执行。