ansible playbook 学习

简介:

同时创建多个目录的yml,

1
2
3
4
5
6
7
8
9
-  hosts: testhost
   vars_files:
     -  / tmp / vars .yml
   tasks:
     -  name: use disk name make  dir
       command:  mkdir  - "/tmp/{{ dict_1.a }}/{{ dict_1.b }}/{{ dict_1.c }}"
          "/tmp/{{ dict_2['a'] }}/{{ dict_2['b'] }}/{{ dict_2['c'] }}"
          "/tmp/{{ list_1[0] }}/{{ list_1[1] }}/{{ list_1[2] }}"
          "/tmp/{{ list_2[0] }}/{{ list_2[1] }}/{{ list_2[2] }}"


额外变量文件 vars.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- - -
dict_1:     #yml 注释可以随便折腾
   a: AA     #缩进必须用空格
   b: BB
   c: CC
 
dict_2: { a: D1, b: D1, c: D1 }   #字典也可以这样
 
 
list_1:
   -  11
   -  22
   -  33
 
list_2: [ L1, L2, L3 ]            #列表也可以这样

结果:

1
2
3
4
5
6
7
8
root@svntest: /tmp # ll
total 40
drwxrwxrwx  6 root root 20480 May 17 14:14 ./
drwxr-xr-x 24 root root  4096 Dec 18  2013 ../
drwxr-xr-x  3 root root  4096 May 17 14:14 11/
drwxr-xr-x  3 root root  4096 May 17 14:14 AA/
drwxr-xr-x  3 root root  4096 May 17 14:14 D1/
drwxr-xr-x  3 root root  4096 May 17 14:14 L1/



判断apache2进程是否存在,不存在就启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
- - -
-  hosts: testhost
   tasks:
    -  shell: netstat  - tunlp | grep  ":80 "  | wc  - l
      register: result
 
#   - debug: msg="MSG {{ result }} END"
 
    -  command:  / etc / init.d / apache2 start
      when: result.stdout  = =  "0"
      
-  hosts: testc
   tasks:
    -  debug: msg = "EEE {{ hostvars.testhost.result.stdout }}"  #访问 testhost 的result变量


使用 /etc/ansible/hosts 中的相关主机

1
2
3
[ test ]
testhost
centostest

相关 yml 调用

1
- debug: msg= "{{ groups.test[0] }}"


本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1774317,如需转载请自行联系原作者
相关文章
Ansible之playbook剧本-1
Ansible之playbook剧本
122 0
|
5月前
|
NoSQL 应用服务中间件 Shell
Ansible playbook 与handler
Ansible playbook 与handler
50 6
|
7月前
|
关系型数据库 MySQL 网络安全
ansible 深入介绍之 主机清单与playbook
ansible 深入介绍之 主机清单与playbook
|
运维 关系型数据库 Shell
小白带你学习linux自动化运维ansible
小白带你学习linux自动化运维ansible
285 0
小白带你学习linux自动化运维ansible
Ansible之playbook剧本-3
Ansible之playbook剧本
73 0
|
Python
Ansible之playbook剧本-2
Ansible之playbook剧本
66 0
|
Shell 网络安全 开发工具
|
运维 关系型数据库 应用服务中间件
【运维知识进阶篇】Ansible自动化运维-PlayBook详解
【运维知识进阶篇】Ansible自动化运维-PlayBook详解
259 0
|
应用服务中间件 Linux 数据安全/隐私保护
ansible:playbook学习笔记
ansible:playbook学习笔记
139 0
|
应用服务中间件 网络安全 开发工具
学习ansible常用模块这篇就够了(剧本)(二)
学习ansible常用模块这篇就够了(剧本)
148 0