`
jickcai
  • 浏览: 235840 次
  • 性别:
  • 来自: 北京
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 社区版块
    • ( 0)
    • ( 0)
    • ( 0)
    存档分类
    最新评论

    rsync

      博客分类:
    • sh
     

    rsync -凯发k8国际

    rsync 是类 unix 系統下的数据镜像备份工具,一款支持快速完全备份和增量备份的工具,支持本地复制,远程同步等,类似于 scp 命令;rsync 命令在同步文件之前要先登录目标主机进行用户身份认证,认证过后才能进行数据同步,身份认证方式取决于所使用的协议类型,rsync 一般使用两种协议进行数据同步;ssh 协议 和 rsync 协议。
     
    能更新整个目录树和文件系統
    有选择的保留符号链接、硬链接、文件属性、权限、设备、及时间等。
    对于安装来说,无特殊权限要求。
    对于多个文件来说,文件传输效率高。
    能用 ssh 或自定义端口作为传输入口端口
     
     
    既然涉及到数据同步,必要的两个概念是:源地址(文件),目标地址(文件),以及以哪一方为基准。例如,想让目标主机上的文件和本地文件保持同步,则是以本地文件为同步基准,将本地文件作为源文件推送到目标主机上。
     
    rsync 在进行数据同步之前需要先进行用户身份验证,验证的方式取决于使用的链接方式:
    ssh 登录验证方式:使用 ssh 协议作为基础进行用户身份验证,然后进行数据同步。
    rsync 登录验证方式:使用 rsync 协议进行用户身份验证(非系統用户),然后进行数据同步。
     
    数据同步方式:推送(上传)、拉取(下载)
     
     
    我们一般使用 rsync 来进行单向数据同步,因此我们需要确定一个基数,比如:两台服务器,一台 nfs 作为网站数据服务器(基准服务器),另一台专门作为 rsync 数据备份服务器。

    4.1 ssh 协议数据同步:将 nfs 服务器数据同步备份到 rsync 服务器

     
    环境:一台 nfs 服务器,一台 rsync 服务器。
    在两台服务器上分别创建目录( /filesrc 、/filedst )
     
    下行同步(下载)
    格式:rsync -avz 服务器地址:/服务器目录/* /本地目录
    示例:rsync -avz /filedst
     
    -z:传输时进行压缩提高效率
    -v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息
    -p:显示文件传输的进度信息
    -a --archive:归档模式,表示递归传输并保持文件属性,等同于"-rtopgdl"
    -r --recursive:以递归模式拷贝目录
    -r --relative:使用相对路径
    -l --links:如果文件是软链接,则拷贝软链接本身而非软链接所指向的文件
    -l --copy-links:如果文件是软链接,拷贝软链接指向的文件
    -w --whole-file:拷贝文件时不进行增量检测
    -t --times:保持 mtime 属性
    rsync 默认用"quick check"算法决定哪些文件需要增量传输。此算法只比较文件的大小和 mtime,即使其它属性不同也会认为它们是完全相同的文件,从而不需要增量传输 建议任何时候都加上"-t",否则目标文件 mtime 会设置为系统时间,导致下次更新检查出 mtime 不同而导致增量传输无效
    上行同步(上传)
    格式:rsync -avz /本地目录/* 服务器地址:/服务器目录
    示例:rsync -avz /filedst/*
     
     
    注意:使用 root 在生产环境中不要使用 root 用户, 尽量使用单独创建的用户,减少权限溢出。
     
    创建用来做数据同步的用户,并给予用户对目录的相应权限,一般是用 acl 设置权限
    useradd zhangsan
     
    passwd zhangsan
    setfacl -m u:zhangsan:rwx /filesrc
     
    若要实现免密数据同步,只需要做好 ssh 密钥对登录即可(两台机器都要做)
    ssh-keygen -t rsa -b 2048
     
    ssh-copy-id userip

    4.2 rsync 协议数据同步,将 nfs 服务器数据同步备份到 rsync 服务器

     
    环境:一台 nfs 服务器,一台 rsync 服务器。
    在两台服务器上分别创建目录( /filesrc 、/filedst )
     
     
    1、搭建 rsync 服务(仅西需要在 nfs 服务器上搭建即可)
     
    a.创建主配置文件( /etc/rsyncd.conf ) 默认没有自己创建
    address = 10.145.81.212 #rsync 服务绑定
    ip prot 873 #默认服务器端口 873
    log file = /var/log/rsyncd.log #日志文件位置
    pid file = /var/run/rsyncd.pid #进程号文件位置
    [web] #共享名:用来连接是写在 url 上的,切记。
    comment = web directory backup #共享描述语句
    path = /filesrc #实际共享目录
    read only = no #是否仅允许读取
    dont conpress = *.gz *.bz2 #哪些文件不进行压缩
    auth users = zhangsan #登录用户名(非系統用户,需要自己创建)
    secrets file = /etc/rsyncd_users.db #认证账户密码文件(需要自己创建-同上)
     
    b.创建认证所需要的密码文件
    # vim /etc/rsyncd_users.db
     
    zhangsan:123456
    # chmod 600 /etc/rsyncd_users.db #必须修改权限,否则登录报错
     
    c.启动服务
    # rsync --daemon # netstat -tunpl | grep 873
     
     
    d.设置映射用户对共享目录有权限
    # setfacl -m u:nobady:rwx /filesrc
    注意:关闭服务可使用 kill 命令,但偶尔会造成服务结束但进程配置文件不被删除的问题,若遇到此类问题可以手动删除,再启动则正常(建议自己写一个 rsync 的服务管理脚本)
     
     
    下行同步(下载)
    格式:rsync -avz rsync://用户名@服务器地址/共享模块名 /本地目录
    示例:rsync -avz /filedst
    拓展 --delete :删除本地比服务器多出来的文件(源地址没有,目标地址有的删掉)
    rsync -avz --delete /filedst
     
    上行同步(上传)
    格式:rsync -avz /本地目录/* rsync://用户名@服务器地址/共享模块名
    示例:rsync -avz /filedst/*
     
    rsync 协议的免密可以借助一个环境变量来实现

     

    # export rsync_password=虚拟用户密码(客户端执行)

    分享到:
    评论

    相关推荐

      linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.x 在2.x的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也...

      rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...

      3、进入到“auto_rsync_bat”文件夹下,修改批处理文件“rsync-demo.bat” 4、修改rsync-demo.bat 注意: 4.1、源目录必须使用“demo“中的样式。 4.2、其他几个变量请根据你实际操作的目录和远程主机信息来设置...

      rsync inotify实现实时同步 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同 步数据时,需要扫描所有文件后进行比对,进行差...

      rsync 服务器架设方法 v0.1b (正在修订中) 作者: 北南南北 来自:linuxsir.org 摘要: rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。...

      rsync软件介绍: rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 可以镜像保存整个目录树和文件系统。 可以很容易做到保持原来文件的权限、时间、软硬链接...

      rsync同步指定目录 rsync使用–include参数与–exclude参数来实现同步指定目录,并且–exclude目录放在后面。 例如: linux上文件目录 代码如下: ls /usr/local/apache/htdocs/site aa bb cc dd ee .. zz 只想同步...

      ubuntu rsync中文乱码 window ubuntu rsync同步中文乱码.docx

      aix下rsync安装包,可用于aix平台下与linux平台下的数据同步

      rsync is a fast and extraordinarily versatile file copying tool. it can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. it offers a large number of options ...

      aix文件同步复制工具rsync,rsync-3.1.2 for aix6.1。。。

      linux 下rsync文件夹同步配置,可以定时。

      rsync-3.1.2-4.el7.x86_64.rpm linux系统下rsync安装包

      适用于centos7.9的rsync 工具安装包 rsync-3.1.2-10.el7.x86_64.rpm

      rsync常见错误及解决方法rsync常见错误及解决方法rsync常见错误及解决方法

      于是放弃,打算用rsync进行同步,在摸索的过程中走了很多湾路,所以写出来让大家参考,网上的大部份的windows 和 rsync的教程都是存在问题的同步不了! 首先是要进群晖的ssh里进行修改相关配置文件,详细的见附件。 ...

      rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下: 1、可以镜像保存整个目录树和文件系统。 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。 3、...

      linux系统下rsync同步数据命令详细解答。

      ranger-2.1.0-usersync.tar.gz

      远程文件传输rsync-断点续传及增量传输,rsync实现断点续传 传送文件较大时,如果网络中断了,重传比较费时。可以考虑使用rsync命令替代scp来断点续传文件 win10下使用git配置rsync实现断点续传,解压缩后cp到git对应usr...

    global site tag (gtag.js) - google analytics
    网站地图