美文网首页
rsync daemon 服务端模式,进行日志归档

rsync daemon 服务端模式,进行日志归档

作者: 偷油考拉 | 来源:发表于2021-12-03 14:06 被阅读0次

    关于 rsync

    rsync有两种常用的传输方式:rsync-daemon & over ssh

    rysnc daemon 使用原生的rsync协议,不加密。适用于本地可信网络。
    rsync相比ssh占用更低的CPU负载。

    某案例:
    10TB NAS备份到另外一个 10TB NAS。两者都是 低主频的 1.8Ghz Atoms处理器。开启ssh加密传输,在千兆以太网只能以200-300Mbps的速度传输。使用rsync deamon,传输速度可以达到800Mbps。

    参考文档

    rsyncd.conf(5) man page (samba.org)

    一、架构说明

    1. 需求
    1. 客户端控制同步文件清单
    2. 免密,限制网段访问
    3. 客户端在文件同步后,删除过期文件
    4. 服务器归档目录 /logarchive/,该目录挂载NFS存储。
    5. 客户端们同步到归档服务器后,按照IP地址进行子目录区分
    2. 拓扑
    • 大部分的客户端,在可信网络内,以免密的方式进行数据同步。
    • 不在体系管理内的客户端,可以通过over ssh的方式,以命令行方式独立上传数据到服务器。这种情况下,通过系统账户验证,不使用 rsync daemon。
    image.png

    二、rsync daemon配置

    系统已经默认安装rsync,就不另行安装了。

    1. 配置rsync.conf文件
    # /etc/rsyncd: configuration file for rsync daemon mode
    
    # See rsyncd.conf man page for more options.
    
    # configuration example:
    
     uid = nobody
     gid = nobody
     use chroot = no
     max connections = 4
     pid file = /var/run/rsyncd.pid
    # exclude = lost+found/
     transfer logging = yes
     timeout = 900
    # ignore nonreadable = yes
     dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
     hosts allow = 10.98.0.0/16
     log file = /var/log/rsyncd.log
     syslog facility = local5
     #secrets file = /etc/rsyncd.secrets
     reverse lookup = no
    
     [ftp]
            path = /logarchive
            comment = ftp export area
            read only = false
            #设置免密,就把 secrets file和auth users注释掉
            secrets file = /etc/rsyncd.secrets
            auth users = rsync
     [test]
            path = /logarchive
            comment = test area
    

    module name
    如上配置文件,以[]标记的内容,称为module name
    客户端配置访问目的DEST,设置的就是module name

    免密码设置 & 用户名设置
    免密就注释掉 secrets fileauth users 配置。
    There is no default for the "secrets file" parameter, you must choose a name (such as /etc/rsyncd.secrets). The file must normally not be readable by "other"; see "strict modes". If the file is not found or is rejected, no logins for a "user auth" module will be possible.

    读写权限设置 read only
    该参数决定客户端是否可以上传文件。如果 read only 设置为 true , 则不可以;如果设置为 false ,则在 daemon侧 规则匹配的条件下可以。默认,所有的 modules 都是 read only。
    Note在基于per-user的控制方式下,"auth users" 可以覆盖该设置。

    2. 启动服务
    systemctl start rsnycd
    

    三、客户端配置

    创建密码文件/etc/rsyncd.secrets,比如 rsync:rsync
    密码文件需要设置为运行用户的640模式。

    测试联通性

    # 查看modules
    [sysadmin@VM_200_2_centos ~]$ rsync  rsync@10.98.201.17::
    ftp             ftp export area
    test            test area
    
    
    #查看某个modules
    [sysadmin@VM_200_2_centos ~]$ rsync  rsync@10.98.201.17::ftp
    Password:
    drwxrwxrwx             17 2021/12/03 10:54:45 .
    drwxrwxr-x             20 2021/12/02 17:17:17 logs
    

    上传文件

    [sysadmin@VM_200_2_centos ~]$ rsync -avz ~/logs rsync@10.98.201.17::ftp
    Password:
    sending incremental file list
    logs/
    logs/testlog
    
    sent 140 bytes  received 47 bytes  34.00 bytes/sec
    total size is 0  speedup is 0.00
    

    查看服务器 (同步到服务器后,都是指定的nobody权限)

    [sysadmin@VM-201-39-centos /]$ ll /logarchive/
    total 0
    drwxrwxr-x 2 nobody nobody 20 Dec  2 17:17 logs
    
    免密访问测试
    [sysadmin@VM_200_2_centos ~]$ rsync  10.98.201.17::
    ftp             ftp export area
    test            test area
    [sysadmin@VM_200_2_centos ~]$ rsync  10.98.201.17::ftp
    drwxrwxrwx             17 2021/12/03 10:54:45 .
    drwxrwxr-x             20 2021/12/02 17:17:17 logs
    
    #免密上传文件,并创建子目录
    [sysadmin@VM_200_2_centos ~]$ rsync  1.json 10.98.201.17::ftp
    [sysadmin@VM_200_2_centos ~]$ rsync  2.json 10.98.201.17::ftp/subfolder1/
    [sysadmin@VM_200_2_centos ~]$
    
    #log归档服务器
    [sysadmin@VM-201-39-centos ~]$ ls /logarchive/
    1  1.json  logs  subfolder1
    [sysadmin@VM-201-39-centos ~]$ ls /logarchive/subfolder1/
    2.json
    

    相关文章

      网友评论

          本文标题:rsync daemon 服务端模式,进行日志归档

          本文链接:https://www.haomeiwen.com/subject/hdeyxrtx.html