我们去远程执行命令时要使用 command 模块,拷贝文件时要使用 copy 模块,如果我们要操作的东西很多,那就要执行很多条不同模块的命令
Playbook 是一个 yaml 配置文件,我们可以把不同模块的命令都写到这个文件,这样使用 ansible 执行这个文件就相当于一次性执行很多条命令了,跟 shell 类似
Playbook 中文是剧本的意思,相当于我们写好一个剧本,然后 ansible 通过剧本一步一步实现剧本的内容
一个简单的 Playbook 例子:
[root@localhost ~]$ vim test.yml # Playbook 是一个yaml文件 --- # 第一行需要有三个杠,固定格式 - hosts: 192.168.119.134 # 指定要操作哪些远程客户端主机,如果有多台主机用逗号隔开,也可以写主机组,需要先在/etc/ansible/hosts定义主机组 remote_user: root # 指定使用哪个用户登录远程主机操作 tasks: # 指定一个任务 - name: test_playbook # 对要执行的任务的描述信息 shell: touch /tmp/1.txt # 指定使用shell模块来执行 touch /tmp/1.txt 命令
[root@localhost ~]$ ansible-playbook test.yml # 执行Playbook