一 在远程创建文件
1 进入/etc/ansible 建立test.yml这个文件,然后加入如下内容:
l相当于把模块写入到配置文件里面,例:
lcat /etc/ansible/test.yml---- hosts: testhost remote_user: root tasks: - name: test_playbook shell: touch /tmp/huningei.txt
##注意格式,前面都有两个空格,冒号之后也都有空格
l说明: hosts参数指定了对哪些主机进行参作;
luser参数指定了使用什么用户登录远程主机操作;
ltasks指定了一个任务,其下面的name参数同样是对任务的描述,在执行过程中会打印出来。
l执行:ansible-playbook test.yml
二 playbook循环
建立三个文件
cat file.yml- hosts: testhost user: root tasks: - name: touch files shell: touch /tmp/{1.txt,2.txt,3,txt}
更改三个文件的权限
---- hosts: testhost user: root tasks: - name: change mod for file file: path=/tmp/`item` mode=600 with_items: - 1.txt - 2.txt - 3.txt
三 playbook条件判断
[root@slave ansible]# cat a.yml --- - hosts: testhost user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt when: ansible_eth0.ipv4.address == "192.168.216.132"
最后执行 ansible-playbook a.yml
这个文件的意思是:当ansible_eth0.ipv4.address == "172.7.15.106" 时,在这台机器上touch /tmp/when.tx
注意:如果在虚拟机上面做操作,可能会出现错误,先用这个 ansible 192.168.216.131 -m setup 来查看一下条件