• rsync


    1. rsync简介

    rsynclinux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSHrsync主机同步。

    2. rsync特性

    rsync支持很多特性:

    • 可以镜像保存整个目录树和文件系统
    • 可以很容易做到保持原来文件的权限、时间、软硬链接等等
    • 无须特殊权限即可安装
    • 快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽
    • 安全:可以使用scpssh等方式来传输文件,当然也可以通过直接的socket连接
    • 支持匿名传输,以方便进行网站镜像

    3. rsync的ssh认证协议

    rsync命令来同步系统文件之前要先登录remote主机认证,认证过程中用到的协议有2种:

    • ssh协议
    • rsync协议

    rsync server端不用启动rsyncdaemon进程,只要获取remote host的用户名和密码就可以直接rsync同步文件
    rsync server端因为不用启动daemon进程,所以也不用配置文件/etc/rsyncd.conf

    ssh认证协议跟scp的原理是一样的,如果在同步过程中不想输入密码就用ssh-keygen -t rsa打通通道

    #这种方式默认是省略了 -e ssh 的,与下面等价:
    rsync -avz /SRC -e ssh root@172.16.12.129:/DEST 
        -a  //文件宿主变化,时间戳不变
        -z  //压缩数据传输
     
    #当遇到要修改端口的时候,我们可以:
    rsync -avz /SRC -e "ssh -p2222" root@172.16.12.129:/DEST  
    #修改了ssh 协议的端口,默认是22
    

    4. rsync命令

    #安装rsync
    [root@localhost ~]# yum -y install rsync
    
    #Rsync的命令格式常用的有以下三种:
        rsync [OPTION]... SRC DEST
        rsync [OPTION]... SRC [USER@]HOST:DEST
        rsync [OPTION]... [USER@]HOST:SRC DEST
      
    #对应于以上三种命令格式,rsync有三种不同的工作模式:
    1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:
    [root@localhost ~]# rsync  -avz jdk-8u281-linux-x64.tar.gz  /tmp/
    sending incremental file list
    jdk-8u281-linux-x64.tar.gz
    
    sent 143,083,590 bytes  received 35 bytes  22,012,865.38 bytes/sec
    total size is 143,722,924  speedup is 1.00
    
    [root@localhost ~]# ls /tmp/
    jdk-8u281-linux-x64.tar.gz
    
    
    2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器远程机需要安装rsync。当DST路径地址包 含单个冒号":"分隔符时启动该模式。如:
    [root@localhost ~]# rsync  -avz test  192.168.248.200:/opt/
    
    3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径 包含单个冒号":"分隔符时启动该模式。如:
    [root@localhost ~]# rsync  -avz   192.168.248.200:/opt/file  /opt/
    
    
    rsync常用选项:
        -a, --archive       #归档
        -v, --verbose       #显示详细输出
        -q, --quiet         #静默模式
        -r, --recursive     #递归
        -p, --perms         #保持原有的权限属性
        -z, --compress      #在传输时压缩,节省带宽,加快传输速度
        --delete            #在源服务器上做的删除操作也会在目标服务器上同步
    

    环境说明

    系统 IP 安装应用
    Centos8 192.168.248.202 rsync
    Centos8 192.168.248.200 rsync

    基于ssh协议本地同步

     如果目的地没有这个文件,系统会自动创建这个文件,如果有这个文件只会同步不一样的内容
    #同步目录
    [root@localhost ~]# mkdir -p  a/{b/{d,e},c/{f,g}}
    
    [root@localhost ~]# tree a
    a
    ├── b
    │   ├── d
    │   └── e
    └── c
        ├── f
        └── g
    
    #同步一个文件
    [root@localhost ~]# rsync -avz a /opt/dirTest
    [root@localhost ~]# tree /opt/dirTest/
    /opt/dirTest/
    └── a
        ├── b
        │   ├── d
        │   └── e
        └── c
            ├── f
            └── g
    
    #同步多个文件
    [root@localhost ~]# rsync -avz  test a /opt/testDir1
    [root@localhost ~]# tree /opt/testDir1/
    /opt/testDir1/
    ├── a
    │   ├── b
    │   │   ├── d
    │   │   └── e
    │   └── c
    │       ├── f
    │       └── g
    └── test
    
    

     基于sync同步

    [root@localhost ~]# rsync  -avz test a 192.168.248.200:/opt/TestDir
    [root@Centos8 ~]# tree /opt
    /opt
    └── TestDir
        ├── a
        │   ├── b
        │   │   ├── d
        │   │   └── e
        │   └── c
        │       ├── f
        │       └── g
        └── test
    
  • 相关阅读:
    Eclipse的自动排版设置(format)
    Java中" "表示几个空格
    cookie和session详解
    IO流操作详解
    springmvc常用注解标签详解
    mavenWeb工程建立步骤
    数据导出为excel表格
    Springmvc jar包介绍
    【初级算法】5.只出现一次的数字
    【初级算法】4.存在重复
  • 原文地址:https://www.cnblogs.com/diqiyao/p/14751232.html
Copyright © 2020-2023  润新知