黑马程序员技术交流社区

标题: 【西安校区】rsync 远程资源同步 [打印本页]

作者: 西安Java组    时间: 2018-5-28 13:31
标题: 【西安校区】rsync 远程资源同步
rsync 远程资源同步

        Remote Synchronize  简称 rsync ,  是一款可以远程同步文件的软件 ,  同步过程可以采用 rsync 加密算法保证了文件的安全 ,  并且同步的文件 ,  可以保持原文件的属性 ( 比如权限 ,  修改时间等 ) 不变。

        rsync 是 Unix 下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。 rsync 中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送。 rsync 可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。 在常驻模式( daemon mode )下, rsync 默认监听 TCP 端口 873 ,以原生 rsync 传输协议或者通过远程 shell 如 RSH 或者 SSH 伺服文件。 SSH 情况下, rsync 客户端运行程序必须同时在本地和远程机器上安装。

配置:
    首页准备两台 Linux 服务器 , 来搭建环境。

    服务器 A : 配置为 rsync 服务器(假设 IP 地址为 192.168.142.143 )
        安装 rsync 软件
            执行 yum install rsync  指令安装 rsync 软件。
            
        安装 xinetd
            执行 yum install xinetd  指令安装 xinetd  软件。
            
        
配置 xinetd  , rsync 的开机自启动
            将上述所安装的这两个服务设置为开机自动启动
            
        
创建 rsync  的主配置文件
           
创建一个配置文件 ,  名称为 rsyncd.conf ,  存放目录为 /etc
           

          其中
          uid :  设置运行 rsync  进程的用户
          backup :  此名字即客户端使用 rsync 来同步的路径
          path :  实际需要同步的路径
          auth users :  客户端获取文件的身份此用户并不是本机中确实存在的用户
          secret file :  用来认证客户端的秘钥文件 格式 USERNAME:PASSWD  权限改为 600
          host allow :  允许哪些主机访问 , *  代表所有
       创建 rsync  的秘钥文件
           秘钥文件的名称在上面的 secret file  中已经制定了存放位置 ,  及名称 /etc/rsync.sec
           
           配置好了 , 之后 , 还需要对秘钥文件进行授权操作 :
           chmod 600 /etc/rsync.sec
        重启 xinetd 以激活 rsync
           执行 service xinetd restart  指令

           

    服务器 B :  配置为 rsync 客户端(假设 IP 地址为 : 192.168.142.147)
        
安装 rsync
            
执行指令 yum install rsync
        
配置 rsync 客户端密码文件并授予 600 权限
            
创建密码文件
            
            授予 600 权限
            
        环境配置
            创建目录 /root/rsync_dir ,  用于同步服务器 A [backup]  模块中的文件
            执行指令 : mkdir rsync_dir
        测试
            执行指令 : rsync -vzrtopg --progress --delete root@192.168.142.143::backup /root/rsync_dir --password-file=/etc/rsync.sec
            
            
执行这条命令之后 , 我们就可以将 root 目录下的文件 ,  同步到客户机上 ,  同步到客户端的 /root/rsync_dir 目录下 .
        
资源同步说明
            
配置好了之后 ,  如果我们需要在两台服务器之间需要进行资源的同步 ,  就可以调用 rsync 命令进行同步 ;  而这里所说的资源 ,  可以包括任何的文件。
        
rsync 参数备注
            
rsync 命令选项
               
-n :测试,在不确定命令是否能按照意愿执行时,务必要实现测试
                -v :详细输出模式, --verbose
                -q : --quiet ,静默模式
                -c : --checksum ,开启校验功能,强行对文件传输进行校验
                -r : --recursive ,递归复制
                -a: --archives. 归档,保留文件的原有属性相当于 rlptgoD 的选项组合 wKioL1gEMvXRMZ5SAAAitet95ug281.png-p:--perms  保留文件的权限
                -t: --times  保留文件的时间戳
                -l:--links  保留文件的符号链接
                -g : --group 保留文件的属组
                -o : --owner  保留文件的属主
                -D : --devices  保留设备文件
                -e ssh :表示使用 ssh 协议作为继承
                -z :对文件压缩后传输
                --progress :显示进度条







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2