• rsync远程同步


    .概念

             Rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持连接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用。rsync时Linux和Unix系统默认安装的基本组件之一。

             在远程同步任务中,负责发起rsync同步操作哦的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文档的原始位置,发起端对该目录具有读取权限。

    [root@crushlinux ~]# rpm -qa | grep rsync
    rsync-3.0.6-9.el6_4.1.x86_64

    .配置文件

    1.开启rsyncd服务

    复制代码
    vim /etc/xinetd.d/rsync
              在这个路径下有配置文件
    service rsync
    {
            disable = yes   #说明rysnc是关闭的
            flags           = IPv6
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/bin/rsync
            server_args     = --daemon
            log_on_failure  += USERID
    }
    复制代码

    可以看到rysnc服务是关闭的(disable = yes),这里把它开启,把disable的值改为no

     

    2.创建rsync服务器配置文件vim  /etc/rsyncd.conf

         手动添加一下内容

    复制代码
     uid = www 使用的用户
      gid = www
      use chroot = no  是否使用根目录锁   如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。
    max connections = 20000    指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制。
         
    timeout = 600   通过该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。
    address = 10.2.1.254监听地址(要备份的主机地址)
    hosts allow =      //允许的主机
     hosts deny = *     //拒绝所有主机
    
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    
    [wwwroot]    模块名字,自定义命名
    path = /mier/wwwroot/    指定该模块的提供备份的目录路径,该参数是必须指定的
    comment = frist 
    read only = no
    #list = no  是否把rsync 服务器上提供同步数据的目录显示
    incoming  chmod  =       Du=rwx,Dg=rwx,Fu=rwx,Fgo=r
    如果想要认证在另行配置
    auth users = a            //授权用户
    secrets = /etc/rsyncd_users.db          //存放账户信息的数据文件
    dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
                                            //同步时不再压缩的文件类型
    复制代码

    3.启动rsync 

     /usr/bin/rsync --daemon

    注意:1.同步的目的目录(也就是你往里同步的目录)的属主属组要和你同步时的用户一样

       2.selinux要关闭

       3.iptables要关闭

    rsync -avz --exclude=*svn /data/www/$line/ /data/wwwroot/$line
         红色部分是同步的时候不同步那些数据
    关闭rsync
        Kill $(cat /var/run/rsyncd.pid)

    .rsync命令的基本用法

    1.命令格式及常用备份选项

    格式:rsync [选项]原始位置目标位置

    常用选项:

    -r:递归创建

    -l:对于符号链接文件仍然复制为符号链接文件

    -v:显示同步过程中的详细信息

    -a:归档模式保留文件的权限。属性等信息,等同于组合选项“-rlptgoD”

    -z:在传输文件时进行压缩

    -p:保留文件的权限标记

    -t:保留文件的时间标记

    -o:保留文件的文件的属主标记

    -g:保留文件的属组标记

    -H:保留硬链接文件

    -A:保留ACL属性信息

    -D:保留设备文件及其他特殊文件

    --delete:删除目标位置有而原始位置没有的文件

    --checkdum:根据校验和(而不是文件大小)来决定是否跳过文件

     

    2.配置源的标记方法

    rsync同步源的资源表示方法为

    用户名@主计地址::共享模块名

    rsync://用户名@主机地址/共享模块名

    例:rsync –avz a@192.168.8.10::wwwroot /root

    rsync –avz rsync://a@192.168.8.10/wwwroot  /root

  • 相关阅读:
    C语言I博客作业07
    C语言I 博客作业03
    我的第一次作业
    C语言I博客作业05
    js闭包在你身边却不知
    浅谈SQL Transaction在请求中断后的行锁表锁
    事件订阅分发模型
    js 继承 对象方法与原型方法
    PHP学习笔记有关php中的变量
    PHP学习笔记不同编码占据不同的字节
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/8206520.html
Copyright © 2020-2023  润新知