ansible项目之一键完成rsync服务端,客户端配置

该博客介绍了如何使用脚本一键安装和配置Rsync服务端和客户端。在服务端,通过yum安装rsync,配置rsyncd.conf,创建用户和备份目录,并启动rsyncd服务。客户端则主要设置rsync.password文件。此外,还利用Ansible进行批量部署,包括创建SSH密钥,配置主机文件,以及运行Rsync安装脚本。
摘要由CSDN通过智能技术生成

一、一键完成rsync服务端
首先在服务端写一个脚本
vim install_rsync_server.sh

#!/bin/sh
#by liyu 2021-3-22

#(1)安装
yum install rsync -y

#(2) 配置配置文件 /etc/rsyncd.conf
cp /etc/rsyncd.conf{,.ori}
cat>/etc/rsyncd.conf<<EOF
uid = rsync
gid = rsync
use chroot = no
fake super = yes
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.119.0/24
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = welcome to oldboyedu backup!
path = /backup/
EOF

#(3) 创建用户和备份目录
useradd rsync
id rsync
mkdir -p /backup
chown -R rsync:rsync /backup/
ls -ld /backup/

#(4) 启动和检查
systemctl start rsyncd
systemctl enable rsyncd
systemctl status rsyncd

ps -ef|grep sync|grep -v grep  #检查进程
netstat -ltunp|grep 873        #检查端口

#(4) 配置密码文件
echo "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password
cat /etc/rsync.password
ls -l /etc/rsync.password
#rsync服务端配置完成

简写版如下:

- hosts: rsync_server
  tasks:
    - name: install rsync
      command: yum install rsync -y

    - name: copy rsyncd.conf
      copy: src=/data/rsyncd.conf.ori dest=/etc/rsyncd.conf backup=yes

    - name: create rsync.password
      file: content='rsync_backup:123456' path=/etc/rsync.password mode=0600

    - name: create user
      user: name=rsync shell=/sbin/nologin

    - name: create dir
      file: path=/backup state=directory

    - name: shouquan
      file: path=/backup owner=rsync group=rsync

    - name: startup rsyncd
      systemd: name='rsyncd.service' state=restart enabled=yes

最终脚本路径:/server/scripts/install_rsync_server.sh

二、一键完成rsync客户端
vim install_rsync_client.sh

#!/bin/sh
#by liyu 2021-3-22

echo "123456" > /etc/rsync.password
chmod 600 /etc/rsync.password
cat /etc/rsync.password
ls -l /etc/rsync.password



playbook剧本如下:

- hosts: rsync_client
  tasks:
    - name
      file: content='123456' path=/etc/rsync.password mode=0600


#test
rsync -avz /etc/hosts rsync_backup@192.168.119.155::backup --password-file=/etc/rsync.password


运行检查

[root@nfs ~]# sh install_rsync_client.sh
123456
-rw-------. 1 root root 7 322 16:48 /etc/rsync.password
sending incremental file list  hosts
最终路径/server/scripts/install_rsync_client.sh
在服务端查看
[root@backup ~]# ls /backup/
hosts

进入到ansible部分,配置管理机ssh
(1)实现批量分发秘钥,免秘钥管理
vim create_key.sh

#!bin/sh
yum install sshpass
ssh-keygen -f ~/.ssh/id_rsa -P '' -q
for ip in 156 157
do
  sshpass -p123456 ssh-copy-id -f -i ~/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no" 192.168.119.$ip
  ssh 192.168.119.$ip "ifconfig ens33"
done

(2)配置ansible主机文件
vim /etc/ansible/hosts

【rsync_client】
192.168.119.156
192.168.119.157

(3)开始用ansible运行rsync的脚本
从管理机实现一键服务端安装rsync
vim ansible.sh

#创建和分发秘钥
/bin/sh  /server/scripts/create_key.sh

#优化sshd_config
ansible all -m copy -a "src=/etc/ssh/sshd_config dest=/etc/ssh/sshd_config  backup=yes"
ansible all -m shell -a "systemctl restart sshd"

#一键完成安装rsync服务端和客户端
ansible 192.168.119.155 -m script -a "/server/scripts/install_rsync_server.sh"
ansible 192.168.119.155 -m script -a "/server/scripts/install_rsync_client.sh"

大功告成!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值