博客
关于我
Rsync服务简介部署使用及原理详解
阅读量:472 次
发布时间:2019-03-06

本文共 2560 字,大约阅读时间需要 8 分钟。

rsync工具详解

rsync简介

rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具。它支持unix/linux/windows等多种操作系统平台,功能强大且效率高。

rsync的特性

  • 支持特殊文件:能够同步链接文件、设备文件等特殊文件类型。
  • 排除功能:支持通过模式排除不需要同步的文件和目录。
  • 保留属性:保留文件的权限、时间、软硬链接、属主、组等属性。
  • 增量同步:只同步发生变化的数据,传输效率高。
  • 多种传输方式:支持rcp/rsh/ssh等方式,数据传输不加密。
  • 多种传输模式:支持socket(进程方式)传输,支持匿名或认证模式。
  • 目录处理:源目录加“/”表示只同步目录下文件,不加“/”则同步整个目录及其文件。
  • rsync应用场景

    定时备份

    通过crond + rsync实现定时备份。

    实时备份

    结合inotify(sersync)+ rsync实现实时备份。

    inotify使用

    inotify命令参数

    • -avz:多参数集合
    • -v:详细模式,输出传输进度等信息
    • -z:压缩传输数据,提高效率
    • -a:归档模式,递归传输并保留文件属性
    • -r:递归子目录
    • -t:保持文件时间信息
    • -o:保留文件属主信息
    • -p:保留文件权限
    • -g:保留文件属组信息
    • -D:保留设备文件信息
    • -l:保留软链接
    • -e:指定传输协议,例如ssh
    • -exclude:排除指定文件或目录
    • -bwlimit:限速传输
    • -delete:删除目标目录中不在源目录中的文件

    inotify工作模式

    本地模式

    将本地文件或目录从一个目录移动到另一个目录中,类似于系统命令。

    Shell模式

    将本地文件或目录传输到远程服务器,类似于scp命令。

    Daemon模式

    rsync服务器模式,安装并运行rsync服务进程,其他客户端通过命令上传文件。

    Daemon模式安装与配置

    环境清单

    节点名 IP 软件版本 硬件 网络 说明
    server 39.108.140.0 rsync-3.1.2 1C2G 阿里云 测试环境
    client 47.95.119.205 rsync-3.1.2 1C2G 阿里云 测试环境

    安装

    [root@server data]# yum -y install rsync[root@server data]# rpm -qa | grep rsync

    配置服务端

  • 修改/etc/rsyncd.conf
  • cat rsyncd.confuid = rsyncgid = rsyncuse chroot = nomax connections = 200timeout = 300pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log[backup]path = /dataignore errorsreadonly = falselist = falsehosts allow = 47.95.119.205,172.25.1.0/24hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password
    1. 创建rsync用户:
    2. [root@server data]# useradd rsync -s /sbin/nologin -M[root@server data]# tail -1 /etc/passwd
      1. 配置存储路径:
      2. [root@server data]# mkdir /data/ -p[root@server data]# chown rsync:rsync /data/
        1. 配置虚拟用户文件:
        2. [root@server data]# echo "rsync_backup:youmen" > /etc/rsync.password[root@server data]# chmod 600 /etc/rsync.password
          1. 配置开机自启动:
          2. [root@server data]# echo '/usr/bin/rsync --daemon' >> /etc/rc.local[root@server data]# tail -1 /etc/rc.local
            1. 配置客户端:
            2. [root@client data]# echo "youmen" > /etc/rsync.password[root@client data]# chmod 600 /etc/rsync.password

              启动并验证服务

              [root@server data]# rsync --daemon[root@server data]# ss -atnlp | grep 873

              同步数据

              下载数据测试

              [root@client ~]# rsync -auv --password-file=/etc/rsync.password rsync_backup@39.108.140.0::backup /data

              ####上传数据测试

              [root@client data]# rsync -avz --delete /data/ rsync_backup@39.108.140.0::backup --password-file=/etc/rsync.password

              rsync优缺点

              优点

            3. 支持数据增量备份,支持socket(daemon),集中备份(支持推拉)。
            4. 远程SHELL通道模式可以加密(SSH)传输,socket(daemon)模式需加密传输可使用×××服务或ipsec服务。
            5. 缺点

            6. 大量小文件同步时,时间较长,可能中断。
            7. 同期传输大文件(如10G)可能存在问题。
            8. 未完整同步前,文件默认隐藏,可通过续传等参数实现传输。
            9. 模式2和模式3不能结合使用。
            10. 源目录后面加“/”与不加的区别,需注意。
            11. rsync命令示例

              限速传输

              [root@client data]# rsync -avz /data/test -e 'ssh -p 22' --bwlimit=1

    转载地址:http://ksabz.baihongyu.com/

    你可能感兴趣的文章
    parallelStream导致LinkedList遍历时空指针的问题
    查看>>
    Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
    查看>>
    ParameterizedThreadStart task
    查看>>
    Paramiko exec_命令的实时输出
    查看>>
    Spring security之管理session
    查看>>
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>
    Part 2异常和错误
    查看>>
    Pascal Script
    查看>>
    Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
    查看>>
    Spring Boot中的自定义事件详解与实战
    查看>>
    Passport 密码模式
    查看>>
    Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
    查看>>
    passwd命令限制用户密码到期时间
    查看>>
    Spring @Async执行异步方法的简单使用
    查看>>