Linux基础rsync备份服务之部署

本文详细介绍了Linux环境中使用rsync进行备份服务的部署,包括服务端和客户端的设置。服务端涉及软件安装、配置文件编写、备份目录创建与权限修改、认证用户文件的创建,以及启动rsync服务。客户端主要讲解了非交互式的数据备份,通过两种方式进行数据推送(PUSH)和拉取(PULL),解决过程中遇到的问题,如配置fake super选项以允许操作。
摘要由CSDN通过智能技术生成

备份服务部署过程

1.介绍所明:rsync服务有三种工作方式:

                  1、本地备份数据

                  2、远程备份数据

                  3、守护进程方式备份数据

守护进程方式备份远程备份
可以实现多个虚拟用户认证只能基于系统用户进行认证
可以支持更改功能配置参数只能支持部分命令参数

可以控制远程备份主机

(控制主机连接数量,保证性能)

不方便对远程主机进行控制
可以实现免交互备份数据默认不支持免交互备份数据
可以基于rsync服务进行数据传输默认基于ssh服务远程备份数据
............

2.通过man命令查看rsync用法:

    先整体的查看一下命令格式,下面看我细细写来

#man rsync
      Local:  rsync [OPTION...] SRC... [DEST]  本地备份数据

      Access via remote shell:    基于ssh进行远程备份
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

      Access via rsync daemon:  守护进程方式备份数据
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
               rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
               rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

3.服务端(也叫管理端)部署过程

    1.软件安装部署

yum install -y rsync

    2.编写配置文件

vim /etc/rsyncd.conf        # 如果没有这个文件,自己创建一个
                            # 以下的 = 两边要有空格
uid = rsync                 # 管理传输数据用户信息
gid = rsync                 # 管理传输数据组信息
port = 873                  # 指定服务端口信息(默认873,为了安全性可更改)
#fake super = yes           # 伪装成超级管理员
                              守护进程备份数据需要修改数据权限,具有修改权限的能力
use chroot = no             # 实现安全配置,实现假根安全配置
max connections = 200       # 设置服务最大连接数(并发连接数)
timeout = 300               # 设置超时时间300s
pid file /var/run/rsyncd.pid    # 创建出pid进程号码文件
                                  1.可以根据文件号码信息快速停止进程
                                  2.根据文件存在与否判断服务运行状态
lock file = /var/run/rsync.lock # 根据上面主机连接数达到限制,给服务网络直接上锁
log file = /var/log/rsyncd.log  # 备份服务日志文件路径
ignore errors                   # 忽略错误信息,不是特别严重的网络错误先忽略,保证数据传输备份
read only = false           # 确认备份目录是否为只读状态
list = false                ***后续会讲到
hosts allow 172.16.1.0/24   # 设置白名单功能(也可以写成某几个主机或网段)
hosts deny 0.0.0.0/32       # 设置黑名单功能
auth users = rsync_backup   # 定义虚拟认证用户名称****要记住****
secrets file = /etc/rsync.password # 定义认证用户密码文件
[backup]                    # 一个模块,对应一个备份的目录
comment = "backup dir by dev"      # 模块的功能描述(可自由编写)
path = /backup              # 定义一个备份数据目录,多个模块对应多个备份目录
reverse lookup = no         # 是否关闭服务反向解析过程

    3.创建备份目录

mkdir /backup        # 有时候不止一个备份目录,具体根据实际需求创建

    4.修改备份目录权限

useradd -s /sbin/nologin -M rsync        #创建rsync虚拟用户
chown rsync.rsync /backup                #虚拟用户/傀儡用户

    5.创建认证用户文件

echo "rsync_backup:111111" >> /etc/rsync.password    # 用户名是刚才在配置中设置的,密码自己填写
chmod 600 /etc/rsync.password                        # 把密码文件更改权限600

    6.启动服务程序(rsync默认服务端口873)

systemctl start rsyncd
systemctl enable rsyncd

4.客户端(代理端)部署过程:非交互备份数据

进行访问测试:

推送过程(PUSH)

     rsync [OPTION..] SRC... [USER@]HOST::DEST
rsync  -avz  本地要备份的数据 认证用户@ 172.16.1.41或主机名::模块信息

推送演示:

[root@web01~]#rsync -avz /test.txt rsync_backup@172.16.1.41::backup
Password:         #输入密码,屏幕不显示
sending incremental file list
test.txt
rsync: chgrp ".oldbou01.txt.Y5EeP8" (in backup) failed: Operation not permitted (1)
# 当你使用chgrp命令对文件进行属组权限修改时,不允许修改,提示操作不允许
sent 96 bytes  received 137 bytes  51.78 bytes/sec
total size is 14  speedup is 0.06
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]
# 备份成功,一些错误被忽略没有影响备份

以上错误提示可以经以下步骤进行解决:

1.将 vim /etc/rsyncd.conf 配置中 fake super = yes 取消注释,即操作可以伪装为超级管理员

2.systemctl restart rsyncd 重启rsyncd服务即可

如下:

[root@web01~]#rsync -avz /test.txt rysnc_backup@172.16.1.41::backup
Password: 
sending incremental file list
test.txt

sent 96 bytes  received 49 bytes  41.43 bytes/sec
total size is 14  speedup is 0.10
# 数据推送成功

推送演示(方法2):

[root@web01~]#rsync -avz /test.txt rsync://rsync_backup@172.16.1.41:873/backup
Password: 
sending incremental file list
test.txt

sent 113 bytes  received 43 bytes  44.57 bytes/sec
total size is 14  speedup is 0.09

=======================================================

数据拉取过程 PULL

命令格式:

rsync [OPTION...][USER@]HOST::SRC...[DEST]

演示实例:

       拉取backup目录中的test.txt文件

[root@web01~]#rsync -avz rsync_backup@172.16.1.41::backup/test.txt /zlin/ # /zlin/为存放拉取 
                                                                            到的文件的目录
Password: 
receiving incremental file list
test.txt

sent 43 bytes  received 117 bytes  35.56 bytes/sec
total size is 14  speedup is 0.09

方法二大家可以根据命令格式自己测试

rsync服务工作原理:

A主机备份客户端  B备份服务器
数据信息01-root传输备份认证过程 
数据信息02-boy数据传输 
数据信息03-girl 将受到的数据保存在指定目录
  

确保保存到备份目录中数据

属主属组都是rsync,有rsync服务

虚拟用户进行修改

 

             

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值