ansible剧本角色功能rsync

作用:规范化配置,剧本文件名称和目录规范。

一、目录规范

在roles下面创建角色目录
要求:完成备份服务器角色功能配置。

1、创建角色目录
cd /etc/ansible/roles
mkdir rsync
cd rsync

2、在角色目录中创建规范化的子目录
mkdir {tasks,handlers,vars,files,templates}

  1. tasks:包含角色要执行的主要任务列表。
  2. handlers:包含处理程序,可以由此角色使用,甚至可以再此角色之外的任何位置使用。
  3. vars:角色的其他变量。
  4. files:包含可以通过此角色部署的文件。
  5. 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

三、目录汇总

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ansible中,角色(Roles)是一种组织和复用任务和变量的方法。角色可以将一组相关的任务、变量和文件组织在一起,以便在多个剧本中重复使用。 一个角色通常包含以下目录结构: ``` myrole/ ├── tasks/ │ ├── main.yml │ └── ... ├── handlers/ │ ├── main.yml │ └── ... ├── templates/ │ ├── file1.j2 │ └── ... ├── files/ │ ├── file1 │ └── ... ├── vars/ │ ├── main.yml │ └── ... ├── defaults/ │ ├── main.yml │ └── ... ├── meta/ │ └── main.yml └── README.md ``` - `tasks/`目录包含角色的任务定义,通常会包含一个`main.yml`文件,其中定义了要执行的任务列表。 - `handlers/`目录包含角色的处理程序定义,用来处理由任务触发的事件。 - `templates/`目录包含角色使用的模板文件,可以在部署过程中生成配置文件等。 - `files/`目录包含角色使用的静态文件。 - `vars/`目录包含角色的变量定义,可以在任务中引用这些变量。 - `defaults/`目录包含角色的默认变量定义,这些变量可以被用户覆盖。 - `meta/`目录包含角色的元数据定义,例如作者、依赖关系等信息。 - `README.md`是角色的说明文档,描述了角色的用途和使用方法。 通过使用角色,可以将复杂的部署和配置任务分解为更小的模块,提高可维护性和复用性,并使剧本更加清晰和易于管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值