Java教程

Ansible-playbook

本文主要是介绍Ansible-playbook,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 首先简单说明一下playbook,playbook是什么呢?

根本上说playbook和shell脚本没有任何的区别,playbook就像shell一样,也是把一堆的命令组合起来,然后加入对应条件判断等等,在shell脚本中是一条一条的命令,而在playbook中是一个一个的task任务构成,每个task任务可以看做shell中的一条命令;shell脚本一般只是在当前服务器上执行,而playbook则是在不止一个服务器上执行,因此playbook需要在其中指定运行该playbook的服务器名。

playbooks基础组件

Hosts:运行执行任务(task)的目标主机

remote_user:在远程主机上执行任务的用户

tasks:任务列表

handlers:任务,与tasks不同的是只有在接受到通知时才会被触发

templates:使用模板语言的文本文件

variables:变量,变量替换

 

playbooks中tasks语法使用

file: 操作文件,比如创建文件或目录、删除文件或目录、修改文件权限等
常用参数:

path:指定要操作的文件或目录
state:参数非常灵活,可以包含的值及含义如下
directory - 与path结合说明我们要操作的是一个目录
touch - 与path结合说明我们要操作的是一个文件
link - 创建软连接
hard - 创建硬链接
absent - 删除目标

src:当state设置为link或hard创建链接时,用于说明链接哪个文件,指定链接源
force:值为yes表示强制创建
owner:指定被操作文件的属主
group:指定被操作文件的属组
mode:指定被操作文件的权限
简单示例:
- name: 创建一个testfile文件
file: path=/tmp/testfile state=touch
- name: 创建一个目录,并指定目录权限
file: path=/tmp/data state=directory mode=0755
- name: 删除一个目录
file: path=/tmp/data state=absent
- name: recurse默认为no,指定为yes代表以递归方式指定文件权限
file: dest=/user/bin mode=0755 recurse=yes

 

这篇关于Ansible-playbook的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!