作用:规范化配置,剧本文件名称和目录规范。
一、目录规范
在roles下面创建角色目录
要求:完成备份服务器角色功能配置。
1、创建角色目录
cd /etc/ansible/roles
mkdir rsync
cd rsync
2、在角色目录中创建规范化的子目录
mkdir {tasks,handlers,vars,files,templates}
- tasks:包含角色要执行的主要任务列表。
- handlers:包含处理程序,可以由此角色使用,甚至可以再此角色之外的任何位置使用。
- vars:角色的其他变量。
- files:包含可以通过此角色部署的文件。
- templates:包含可以通过此角色部署的模板。
二、编辑角色目录剧本信息
1、进入tasks
[root@m01 roles]# cat rsync/tasks/main.yaml
- name: 01:安装部署软件
yum: name=rsync state=installed
- name: 02:分发配置文件
copy: src={{ item.src }} dest={{ Dest_dir }} mode={{ item.mode }}
with_items:
- {src: 'rsyncd.conf', mode: '644'}
- {src: 'rsync.password', mode: '600'}
notify: rsync_restart
when: (ansible_hostname == "backup")
- name: 03:创建虚拟用户
user: name=rsync shell=/sbin/nologin create_home=no
when: (ansible_hostname == "backup")
- name: 04:创建备份目录
file: path={{ item.path }} state=directory owner={{ item.owner }} group={{ item.group }}
when: (ansible_hostname == "backup")
with_items:
- {path: '/backup', owner: 'rsync', group: 'rsync'}
- name: 06:启动服务程序
service: name=rsyncd state=started enabled=yes
when: (ansible_hostname == "backup")
- name: 07:检查确认服务是否启动
shell: netstat -lntup|grep rsync
register: port_info
when: (ansible_hostname == "backup")
tags: check01
- name: 08:显示启动的端口信息
debug: msg={{ port_info.stdout_lines }}
when: (ansible_hostname == "backup")
tags: check02
- name: 01:创建密码文件
copy: content='oldboy123' dest={{ Dest_dir }}rsync.password mode=600
when: (ansible_hostname != "backup")
说明:shell模块和其他模块书写在一个name中会产生冲突
2、进入vars
vim main.yaml
Dest_dir: /etc/
3、进入files
[root@m01 files]# ll
total 8
-rw-r--r-- 1 root root 413 Jul 6 22:35 rsyncd.conf
-rw-r--r-- 1 root root 23 Jul 6 22:36 rsync.password
4、进入headlers目录
vim main.yaml
- name: rsync_restart
service: name=rsyncd state=restarted
网友评论