使用playbook实现一键部署rsync

syy1757528181      2022-06-14     257

关键词:

环境

主机名 wanIP lanIP 服务 角色
m01 10.0.0.61 172.16.1.61 Ansible 控制端
backup 10.0.0.41 172.16.1.41 rsync服务端 被控端
web01 10.0.0.7 172.16.1.7 rsync客户端 被控端
web02 10.0.0.8 172.16.1.8 rsync客户端 被控端
nfs 10.0.0.31 172.16.131 rsync客户端 被控端

流程分析

1.安装ansible
2.优化ansible
3.推送公钥
4.开启防火墙
5.开启80 443 873 nfs等端口和服务白名单
6.关闭selinux
7.创建同一的用户

1.web backup nfs 安装rsync
2.拷贝rsync配置文件
3.创建服务端backup的备份目录
4.copy密码文件
5.把客户端密码加入环境全局变量文件
6.启动rsync,并加入开机自启动

配置主机清单

mkdir /root/ansible/rsync -p && vim /root/ansible/rsync/hosts
[web_group]
web01 ansible_ssh_host=172.16.1.7 asible_ssh_user=root ansible_ssh_port=22
web02 ansible_ssh_host=172.16.1.8 asible_ssh_user=root ansible_ssh_port=22

[nfs_group]
nfs ansible_ssh_host=172.16.1.31 asible_ssh_user=root ansible_ssh_port=22

[backup_group]
backup ansible_ssh_host=172.16.1.41 asible_ssh_user=root ansible_ssh_port=22

rsync配置文件

vim /root/ansible/rsyncd.conf

uid = www	
gid = www			
port = 873			
fake super = yes	 
use chroot = no		 	
max connections = 200	
timeout = 600			
ignore errors			
read only = false		
list = false	

auth users = backup			 
secrets file = /etc/rsync.passwd	  
log file = /var/log/rsyncd.log		  						 
[backup]								
comment = welcome to oldboyedu backup!	   
path = /backup

yml

vim /root/ansible/rsync/rsync.yml

- hosts: all 
  tasks: 
    - name: Install Rsync Server 
      yum: 
        name: rsync 
        state: present 
 
    - name: selicent pass 
      copy: 
        content: "export RSYNC_PASSWORD=123" 
        dest: /etc/profile.d/rsync.pass 
        owner: root 
        group: root 
        mode: 0600 
      when: ansible_hostname is match "web*" 
       
    - name: sourse 
      shell: "source /etc/profile.d/rsync.pass" 
      when: ansible_hostname is match "web*" 
 
    - name: selicent pass 
      copy: 
        content: "export RSYNC_PASSWORD=123" 
        dest: /etc/profile.d/rsync.pass 
        owner: root 
        group: root 
        mode: 0600 
      when: ansible_hostname is match "nfs*"  
       
    - name: sourse 
      shell: "source /etc/profile.d/rsync.pass" 
      when: ansible_hostname is match "nfs*"  
 
    - name: Configure Rsync Conf 
      copy: 
        src: /root/ansible/rsync/rsyncd.conf 
        dest: /etc/rsyncd.conf 
        owner: root 
        group: root 
        mode: 0644 
      when: ansible_hostname is match "backup*" 

    - name: Create Backup Dir 
      file: 
        path: /backup 
        recurse: yes 
        owner: www 
        group: www 
        mode: 0755 
        state: directory 
      when: ansible_hostname is match "backup*" 

    - name: Create PASS File 
      copy: 
        content: backup:123 
        dest: /etc/rsync.passwd 
        owner: root 
        group: root 
        mode: 0600 
      when: ansible_hostname is match "backup*" 

- hosts: all 
  tasks: 
    - name: Start Rsync Server 
      service: 
        name: rsyncd 
        state: started 
        enabled: true 

执行

1.执行base.yml
[root@m01 ~]# ansible-playbook ansible/base.yml 

2.执行rsync.yml
[root@m01 ~]# ansible-playbook ansible/rsync/rsync.yml -i /root/ansible/rsync/hosts

利用ansible实现一键化部署rsync服务

创建脚本cat /server/scripts/rsyncd.conf.sh修改rsync配置文件cat>>/etc/rsyncd.conf<<EOFuid=rsyncgid=rsyncusechroot=nomaxconnections=200timeout=300pidfile=/var/run/rsyncd.pidlockfile=/var/run/rsyn 查看详情

rsync软件服务利用ansible实现一键化部署

首先创建一个脚本文件 /server/tools/peizhi.shcat /server/tools/peizhi.shcat>>/etc/rsyncd.conf<<EOF#luo##paichu.sh##uid=rsyncgid=rsyncusechroot=nomaxconnections=200timeout=300pidfile=/var/ru 查看详情

rsync软件服务利用ansible实现一键化部署

首先创建一个脚本文件 /server/tools/peizhi.shcat /server/tools/peizhi.shcat>>/etc/rsyncd.conf<<EOF#luo##paichu.sh##uid=rsyncgid=rsyncusechroot=nomaxconnections=200timeout=300pidfile=/var/ru 查看详情

rsync一键部署

#!/bin/bash##############################################################FileName:Rsync.shVersion:V1.0Author:DaKai#CreatedTime:2017-06-2513:06:27Description:Thisisashellscripttoinstallthersyncservice# 查看详情

使用playbook实现一键优化集群

环境外网IP内网IP主机名10.0.0.5172.16.1.5lb01(负载均衡)10.0.0.6172.16.1.6lb0210.0.0.7172.16.1.7web01(服务器)10.0.0.8172.16.1.8web0210.0.0.9172.16.1.9web0310.0.0.31172.16.1.31nfs(共享存储)10.0.0.41172.16.1.41backup10.0.0.5 查看详情

ansible-playbook一键化部署apache服务

原创chaos_oper最后发布于2019-06-1321:31:44阅读数463收藏展开Playbook(任务剧本)playbook是简单易用的自动化语言编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的*YML文件playbook是一个非常简单的配置管理和多... 查看详情

一键部署rsync服务

#!/bin/bash#ByKaileQQ:10206334#Bloghttp://kaile.blog.51cto.comRPCSTART=`/etc/init.d/rpcbindstar#rsync软件是否安装[$(rpm-qa|greprsync|wc-l)-eq1] ||yum-yinstallrsync#rsync配置文件[-f/etc/rsyncd.conf ]|| 查看详情

rsync(代码片段)

使用roles实现一键部署rsync环境主机名wanIPlanIP服务角色m0110.0.0.61172.16.1.61Ansible控制端backup10.0.0.41172.16.1.41rsync服务端被控端web0110.0.0.7172.16.1.7rsync客户端被控端web0210.0.0.8172.16.1.8rsync客户端被控端nfs10.0.0.31172.16.131rsy 查看详情

2020/4/20一键部署服务(代码片段)

一键部署rsync服务[root@m01conf]#cat/server/scripts/rsync.yaml#commandplaybook-hosts:172.16.1.41tasks:-name:setup01:installrsyncyum:name:rsyncstate:installed-name:setup02:editrsyncconffilecopy:src:/etc/ansible/conf/rsyncd.confdest:/etc/-name:setup03:creatersyncuseruser:name:rsyncstate:presentcr... 查看详情

ansible命令执行方式

...批量管理(ad-hoc)模式•利用Ansible剧本实现批量管理(playbook)模式ad-hoc模式Ansible的ad-hoc模式也就是Ansible的命令行模式,该模式下通常用来临时处理一些任务,例如:•临时批量查看所有被管理主机的内存,负载,磁盘•临时... 查看详情

rsync服务简介部署使用及原理详解(代码片段)

Rsync简介什么是rsync?Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/windows等多种操作系统平台。Rsync英文全称为Remotesynchronization,即远程同步。从软件的... 查看详情

rsync远程部署

 1,使用Rsync实现远程部署#!/bin/bashcd/var/maven/pdh5/dev/pdh5gitcheckoutdevgitpullorigindevrsync--exclude=*.log--exclude=.git*--exclude="log/"-avz/var/maven/pdh5/dev/pdh5/*[email protected]:/var/w 查看详情

playbook使用(代码片段)

文章目录一、playbook1.YMAL格式2.Playbook常见语法3.playbook示例4.playbook编排vsftp5.playbook编排多个hosts任务二、roles1.创建roles的目录结构2.通过roles实现lamp接上一篇文章ansible环境搭建一、playbookplaybook(剧本):是ansible用于配置,部署,和管理... 查看详情

playbook使用(代码片段)

文章目录一、playbook1.YMAL格式2.Playbook常见语法3.playbook示例4.playbook编排vsftp5.playbook编排多个hosts任务二、roles1.创建roles的目录结构2.通过roles实现lamp接上一篇文章ansible环境搭建一、playbookplaybook(剧本):是ansible用于配置,部署,和管理... 查看详情

ansible6:playbook简单使用

ansbile-playbook是一系列ansible命令的集合,利用yaml语言编写。playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变... 查看详情

ansible6:playbook简单使用

  ansbile-playbook是一系列ansible命令的集合,利用yaml语言编写。playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容... 查看详情

ansible自动化部署之playbook的使用

一、AnsiblePlaybook的使用  1、Playbook的核心元素  2、Playbooks简介  3、Playbook的基础    (1)主机与用户    (2)tasks任务列表    (3)task定义示例 查看详情

inotify+rsync实现实时同步部署(代码片段)

1.1.架构规划1.1.1架构规划准备服务器系统角色IPCentos6.7x86_64NFS服务器端(NFS-server-inotify-tools)192.168.1.14Centos6.7x86_64rsync服务器端(rsync热备服务器)192.168.1.17   1.1.2架构图 2.1部署前检查2.1.1检查rsync热备服务器daemon是 查看详情