1.服务器间数据的手动备份服务

使用工具VMware 17.0
Xshell 7.0
CentOS 7.0
参考资料
  1. 确认是否已了解用户访问网站整体流程

  2. 服务器备份任务的任务概述
    ● 在用户访问网站整体流程概述中我们已知备份服务器存在的意义就是备份其他服务器中的重要数据, 而需要实现不同服务器之间的数据传输, 需要使用到 rsyncd 服务
    ● rsync 是服务也是命令, 传输数据时采用的是增量传输

    知识点 : 增量传输和全量传输的区别
    ● 全量传输 : 无论多少数据全部推送走 ( scp )
    ● 增量传输 : 只将修改、新建的文件传输走 ( rsync )

  3. 模拟实现服务器备份服务器任务步骤
    在这里插入图片描述
    (1) 创建模板虚拟机
    (2) 通过克隆模板虚拟机创建出两台虚拟机, 一台作为服务端模拟备份服务器 (IP地址为10.0.0.41, 主机名为xuxouy041), 一台作为客户端模拟存储服务器 (IP地址为10.0.0.31, 主机名为xuxouy031)
    (3) 在服务端 10.0.0.41 上
      ① 配置文件
      ② 添加虚拟用户
      ③ secret 文件, 密码文件, 文件权限
      ④ 创建共享目录和修改权限
      ⑤ 启动服务
      ⑥ 测试
    (3) 在客服端 10.0.0.31 上
      ① 配置免密
      ② 客户端命令测试

  4. 确认是否已完成模板虚拟机的创建和克隆?

  5. 配置服务端 (备份服务器, IP地址为10.0.0.41)

    # 检查进程和端口
    ps -ef | grep rsync
    ss -lntup | grep rsync 
    

    在这里插入图片描述

    # (服务端配置文件, 守护进程模式)
    vim /etc/rsyncd.conf
    --------------------------------------------------
    #createt by xuxouy 15:00 2023-11-14
    ##rsyncd.conf start##
    fake super =yes
    uid = rsync
    gid = rsync
    use chroot = no
    max connections = 2000
    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 = 172.16.1.0/24   
    #hosts deny = 0.0.0.0/32     
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    #####################################
    [data]
    comment = www by xuxouy 14:18 2023-11-09
    path = /data
    
    --------------------------------------------------
    :wq
    

    在这里插入图片描述

    注意点 : 为什么 rsyncd.conf 配置文件没有注释
    因为 rsyncd.conf 存在注释不兼容问题, 所以我将 rsyncd.conf 文件的注释全部取消掉了, 文件中的参数注释如下所示
    在这里插入图片描述

    # 更新 rsync 包
    yum install -y rsync
    
    # 创建虚拟用户
    useradd -s /sbin/nologin -M rsync
    
    # 设置服务端密码
    echo 'rsync_backup:123456' > /etc/rsync.password
    
    # 检查服务端密码是否设置成功
    cat /etc/rsync.password
    
    # 查看 rsync.password 权限
    ll /etc/rsync.password
    
    # 修改 rsync.password 权限
    chmod 600 /etc/rsync.password
    
    # 创建 data 目录
    mkdir -p /data/
    
    # 修改 data 目录权限
    chown -R rsync.rsync /data/
    
    # 查看虚拟用户是否成功创建
    id rsync
    
    # 查看虚拟用户信息
    grep rsync /etc/passwd
    
    # 查看密码文件
    ll /etc/rsync.password
    
    # 查看文件夹情况
    ll -d /data/
    
    # 启动服务和设置服务开机自动
    systemctl start rsyncd
    systemctl enable rsyncd 
    
    
    # 查看服务状态
    systemctl status rsyncd
    
    # 查看 Selinux 状态 (permissive或disabled表示关闭; enforcing表示开启)
    getenforce
    
    
    

    在这里插入图片描述

    # 服务端本地测试
    rsync -av /etc/hostname rsync_backup@10.0.0.41::data
    # 查看是否备份成功
    tree /data/
    

    在这里插入图片描述

    知识点 : 通过查看日志解决报错
    如果 rsyncd 命令执行报错可以通过 tail -f /var/log/rsyncd.log 命令查看日志文件解决
    在这里插入图片描述

  6. 配置客户端 (存储服务器, IP地址为10.0.0.31)

    # 插入密码到指定文件
    echo '123456' > /etc/rsync.client
    
    # 修改文件权限
    chmod 600 /etc/rsync.client
    
    # 将/etc/目录打包压缩到tmp目录下
    tar zcfP /tmp/etc.tar.gz /etc/
    
    # 测试免密访问将压缩包备份到服务端/data目录下
    rsync -avz /tmp/etc.tar.gz rsync_backup@backup::data --password-file=/etc/rsync.client
    

    在这里插入图片描述
    在这里插入图片描述

    知识点 : rsync 传输命令讲解
    rsync_backup@backup::data 表示将压缩包 /tmp/etc.tar.gz 通过 rsync 增量传输到 rsync_backup 用户所在的主机上的 /data/ 目录中去, 因为在配置模板虚拟机时我们进行了 hosts 解析, backup 映射的 IP地址为 172.1.16.41, 所以数据通过内网增量传输到了xuxouy041的主机上, 而 --password-file=/etc/rsync.client 则实现免密传输这个功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值