ansible批量管理服务器

ansible批量管理服务器同步web服务

1.建立一个文件

vim /etc/ansible/roles/tongbu/tasks/main.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
- name : 同步文件
synchronize :
src : /software
dest : /
delete : yes
#rsync_timeout : 10
register : reload

- name : 创建链接目录
file :
state : directory
path : /etc/nginx/{{ item.dir }}
with_items :
- { dir : 'conf' }
- { dir : 'kis' }

- name : 域名证书及配置文件软链接
file :
state : link
src : /software/{{ item.name }}
path : /etc/nginx/{{ item.dir }}/{{ item.name }}
register : result
with_items :
- { dir : 'conf', name : '域名证书' }
- { dir : 'kis', name : '站点配置文件' }

- name : 检测Web应用
stat :
path : /usr/bin/openresty
register: p

- name : 修改文件夹属主
shell : chown nginx. /etc/nginx/{{ item.dir }} -R
args :
warn: False
when : result is changed and p.stat.exists == False
with_items :
- { dir : 'conf' }
- { dir : 'kis' }

- name : 重载nginx配置
service :
name : nginx
state : reloaded
when : reload is changed and p.stat.exists == False

- name : 重载Openresty配置
command: /usr/bin/openresty -s reload
when : p.stat.exists
  1. 建一个剧本文件

vim /etc/ansible/tb.xml

1
2
3
4
5
---
- hosts : China
remote_user : root
roles:
- tongbu

3,定义的组是China,需要在/etc/ansible/hosts 文件里新建主机组

最后就是执行剧本

1
sudo ansible-playbook /etc/ansible/tb.xml

可以创建别名,这样方便每次执行

1
alias tb=' sudo ansible-playbook /etc/ansible/tb.xml'

评论


:D 一言句子获取中...

加载中,最新评论有1分钟缓存...