剧本编写规范: pyyaml -- 三点要求
1. 合理的信息缩进 两个空格表示一个缩进关系
标题一
标题二
标题三
PS: 在ansible中一定不能用tab进行缩进
2. 冒号的使用方法
hosts: 172.16.1.41
tasks:
yum: name=xx
PS: 使用冒号时后面要有空格信息
以冒号结尾,冒号信息出现在注释说明中,后面不需要加上空格
执行剧本:
第一个步骤: 检查剧本的语法格式
ansible-playbook --syntax-check rsync_server.yaml
第二个步骤: 模拟执行剧本
ansible-playbook -C rsync_server.yaml
第三个步骤: 直接执行剧本
ansible-playbook rsync_server.yaml
一、配置主机清单
第一种方式: 分组配置主机信息
[web]
172.16.1.7
172.16.1.8
172.16.1.9
[data]
172.16.1.31
172.16.1.41
操作过程
[root@m01 ansible-playbook]# ansible data -a "hostname"
172.16.1.31 | CHANGED | rc=0 >>
nfs01
172.16.1.41 | CHANGED | rc=0 >>
backup
[root@m01 ansible-playbook]# ansible web -a "hostname"
172.16.1.7 | CHANGED | rc=0 >>
web01
第二种方式: 主机名符号匹配配置
[web]
172.16.1.[7:9]
[web]
web[01:03]
第三种方式: 跟上非标准远程端口
[web]
web01:52113
172.16.1.7:52113
第四种方式: 主机使用特殊的变量
[web]
172.16.1.7 ansible_ssh_port=52113 ansible_ssh_user=root ansible_ssh_pass=123456
[web]
web01 ansible_ssh_host=172.16.1.7 ansible_ssh_port=52113 ansible_ssh_user=root ansible_ssh_pass=123456
第五种方式: 主机组名嵌入配置
[rsync:children] --- 嵌入子组信息
rsync_server
rsync_client
[rsync_server]
172.16.1.41
[rsync_client]
172.16.1.31
172.16.1.7
[web]
web01
[web:vars] --- 嵌入式变量信息
ansible_ssh_host=172.16.1.7
ansible_ssh_port=52113
ansible_ssh_user=root
ansible_ssh_pass=123456
二、在剧本中设置变量信息
方式一:直接在剧本文件编写
vars:
oldboy01: data01
oldboy02: data02
方式二: