playbook
什么是playbook?
把所有操作按照ansible的编程语法放在文件里执行就是playbook。
ansible剧本编写格式说明:
ansible剧本遵循PYyaml语法规则进行编写,yaml文件基本编写规则如下说明:
规则一:缩进
yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别由两个空格组成,切记一定不能使用tab键进行缩进。
规则二:冒号
每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模板可以不需要空格)
规则三:短横线
想要表示列表项,使用一个短横杠加一个空格,多个项使用同样的缩进级别作为同一个列表的一部分。
替代方案1:
替代方案2:推荐用替代方案2
什么是playbook?
playbook翻译过来就是“剧本”,那playbook组成如下:
play:定义的是主机的角色
task:定义的是具体执行的任务
playbook:由一个或多个play组成,一个play可以包含多个task任务
简单理解为:使用不同的模块完成一件事情
编写剧本:
- host:主机
tasks:定义具体要执行的任务。
- name:描述。
shell(模块):要执行的命令。
查看剧本内容:
执行剧本:
palybook的优势
(1)功能比ad-hoc更全
(2)能更好的控制先后执行顺序,以及依赖关系
(3)语法展现更加的直观
(4)ad-hoc无法持久使用,playbook可以持久使用。
1.YAML介绍
YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy dt Net与Oren Ben-Kiki也是这语言的共同设计者。
YAML Ain't Markup Language,即YAML不是XML。不过,在开发的这种语言时,YAML的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。
其特性:
YAML的可读性好
YAML和脚本语言的交互性好
YAML使用实现语言的数据类型
YAML有一个一致的信息模型
YAML易于实现
YAML可以基于流来处理
YAML表达能力强,扩展性好
更多的内容及规范参见http://www.yaml.org。
playbook的配置语法是由yaml语法描述的,扩展名是yaml
缩进:
yaml使用固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs
冒号:
以冒号结尾除外,其他所有冒号后面所有必须空格。
短横线:
二、实践穿件文件:
- hosts: oldboy
remote_user: root
tasks:
-name: Creat New File
file: name=/tmp/oldboy1 state=touch
查看:
执行:
删除:
删除执行:
实践三:写定时任务。
练习题:每周一1-5 上午8:30 /server/scripts/class.sh
检查语法: