博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现备忘录模式(附完整源码)
    查看>>
    Objective-C实现复制粘贴文本功能(附完整源码)
    查看>>
    Objective-C实现复数类+-x%(附完整源码)
    查看>>
    Objective-C实现外观模式(附完整源码)
    查看>>
    Objective-C实现多启发式a star A*算法(附完整源码)
    查看>>
    Objective-C实现多尺度MSR算法(附完整源码)
    查看>>
    Objective-C实现多种方法求解定积分(附完整源码)
    查看>>
    Objective-C实现多组输入(附完整源码)
    查看>>
    Objective-C实现多项式函数在某个点的评估算法(附完整源码)
    查看>>
    Objective-C实现多项式哈希算法(附完整源码)
    查看>>
    Objective-C实现大位数乘法(附完整源码)
    查看>>
    Objective-C实现大根堆(附完整源码)
    查看>>
    Objective-C实现奇偶检验码(附完整源码)
    查看>>
    Objective-C实现奇偶转置排序算法(附完整源码)
    查看>>
    Objective-C实现奇异值分解SVD(附完整源码)
    查看>>
    Objective-C实现子集总和算法(附完整源码)
    查看>>
    Objective-C实现字符串autocomplete using trie(使用 trie 自动完成)算法(附完整源码)
    查看>>
    Objective-C实现字符串boyer moore search博耶摩尔搜索算法(附完整源码)
    查看>>
    Objective-C实现字符串IP地址转DWORD地址(附完整源码)
    查看>>
    Objective-C实现字符串jaro winkler算法(附完整源码)
    查看>>