zoukankan      html  css  js  c++  java
  • Rsync 实现远程同步

      

        介绍

      rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。

      常用场景一

    无密码同步

    1、安装rsync

    [root@localhost /]# yum -y install rsync

    2、新建rsyncd.conf文件

    vim /etc/rsyncd.conf
    
    #This is the rsync daemon configuration 
    
    #global settings 
    pid file = /var/run/rsyncd.pid
    port = 873
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    [share_data]       #共享名称
    path = /web/rsync/share_data    #共享路径
    use chroot = no
    max connections = 15
    read only = yes
    write only = no
    list = no
    ignore errors = yes
    timeout = 120
    保存

    3、执行命令

    /usr/bin/rsync --daemon
    mkdir -p /web/rsync/share_data  #新建共享目录,实例中直接输入要共享文件的就好,可省去次步

    客户端

    1、安装rsync

    [root@localhost /]# yum -y install rsync

    2、输入命令进行同步

    rsync -avz root@192.168.1.98:/var/space /home/hadoop/share_data
                         ↓            ↓                  ↓
                    服务器IP    配置文件共享目录名     客户端收纳目录

    3、限制流量同步

    限制流量同步:
    rsync -avz --bwlimit=50 --progress root@192.168.1.98::share_data /home/hadoop/share_data

      常用场景二

    有密码同步

    服务端配置

    1、配置文件修改

    vim /etc/rsyncd.conf
    
    #This is the rsync daemon configuration 
    
    #global settings 
    pid file = /var/run/rsyncd.pid
    port = 873
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    [auth_data]
    path = /web/rsync/auth_data
    use chroot = no
    max connections = 15
    read only = yes
    write only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = hadoop
    secrets file = /etc/rsyncd.passwd

    3、执行命令

    echo "hadoop:password123" > /etc/rsyncd.passwd 
    chmod 600 /etc/rsyncd.passwd
    mkdir -p /web/rsync/auth_data

    客户端配置

    1、保存密码

    echo "password123" > /home/hadoop/rsyncd.passwd 
    chmod 600 /home/hadoop/rsyncd.passwd 

    2、远程同步

    rsync -avz --progress --password-file=/home/hadoop/rsyncd.passwd  hadoop@192.168.1.98::auth_data /home/hadoop/auth_data
    
    或者是:
    
    export RSYNC_PASSWORD="password123"
    rsync -avz --progress hadoop@192.168.1.98::auth_data /home/hadoop/auth_data

      常用场景三

    写入同步

    服务端

    1、配置文件

    vim /etc/rsyncd.conf
    
    #global settings 
    pid file = /var/run/rsyncd.pid
    port = 873
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    [write_data]
    path = /web/rsync/write_data
    use chroot = no
    max connections = 15
    read only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = hadoop
    secrets file = /etc/rsyncd.passwd
    
    保存

    2、执行命令

    mkdir -p /web/rsync/write_data

    客户端

    1、输入同步命令

    echo "123" > /home/hadoop/write_file
    export RSYNC_PASSWORD="password123"
    rsync -avz --progress --delete /home/hadoop/write_file hadoop@192.168.1.98::write_data

      常用场景四

    限定IP或网段

    服务端

    1、配置文件修改

    #global settings 
    pid file = /var/run/rsyncd.pid
    port = 873
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    [write_data]
    path = /web/rsync/write_data
    use chroot = no
    max connections = 15
    read only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = hadoop
    secrets file = /etc/rsyncd.passwd
    hosts allow = 192.168.2.32  192.168.1.0/24

    常见情景例子

    指定端口

    rsync -avz --port=8081 --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data 

    限速

    rsync --bwlimit=100 -avz --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data 

    限速100kb/s同步数据

    Rsync通过SSH传输

    rsync -e "ssh -p 22"  --progress /home/hadoop/auth_data hadoop@192.168.1.98::auth_data 

    本文参考:ggjucheng

    更多命令参考 

    客户端 https://download.samba.org/pub/rsync/rsync.html

    服务端 https://download.samba.org/pub/rsync/rsyncd.conf.html

  • 相关阅读:
    1,巡检脚本pexpect
    Cisco胖AP配置上网
    阿里云服务器更换密钥后,无论以何种远程连接方式都连接不上
    [PAT乙级题解]——A+B和C
    研究ThreadLocal类
    Java的反射机制
    volatile浅析
    Java 对称数据加密AES
    Java使用非对称数据加密RSA
    练习-登陆接口
  • 原文地址:https://www.cnblogs.com/willamwang/p/8119170.html
Copyright © 2011-2022 走看看