## 简介
playbooks使用yaml语法,在ansible中几乎所有的yaml文件都是以list开始,每个item是键值对的list。
所有的yaml文件都以`---`开头表示开始一个`document`,所有的列表元素以`-`开头,键值对用`:`。
键值对中的值如果是bool类型的字符串true/false(首字母不论大小写),pyyaml会load成python中对应的bool值,在键值对中如果值中有`:`或者以`{{`开头的变量定义,则必须用**引号**引起来。
## 规则
* 大小写敏感
* 文档以---开始
* 缩进只能使用空格,不能使用tab
## 主机的与或非
~~~
:& # 与
: # 或
:! # 非
~~~
也可以用~开头来使用正则
~~~
~(web|db).*\.example\.com
~v\d
~~~
## Ad-Hoc命令模式
![](https://ws4.sinaimg.cn/large/006tNbRwgy1fv38is96fuj31kw0nndrl.jpg)
- 目录
- ansible基础
- ansible简介
- ansible安装和测试
- ansible配置文件
- 常用命令
- yaml在ansible中的用法
- inventory
- 变量与facts
- when语句
- handler模块
- 大杂烩
- ansible模块
- assert 模块
- copy模块
- cron模块
- debug模块
- django_manage模块
- file模块
- filesystem模块
- git模块
- hostname模块
- lineinfile模块
- mount模块
- mysql_user模块
- mysql_db模块
- pip模块
- selinux
- setup模块
- shell 和 command 模块
- stat模块
- supervisorctl
- systemd
- timezone
- unarchive模块
- user模块
- wait_for
- yum和service模块
- 其他模块或者方法
- setup模块
- url模块
- slack 模块
- pause 模块
- 其他
- 报错处理
- playbooks
- 复杂的playbook
- 循环
- roles
- YAML
- jinja2