码迷,mamicode.com
首页 > 其他好文 > 详细

rsync

时间:2021-05-24 05:06:39      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:系统   rsync常用选项   val   test   用户名   number   显示   ash   ota   

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 ~]# sync  -avz jdk-8u281-linux-x64.tar.gz  /tmp/
sync: invalid option -- ‘a‘
Try ‘sync --help‘ for more information.
[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

 

rsync

标签:系统   rsync常用选项   val   test   用户名   number   显示   ash   ota   

原文地址:https://www.cnblogs.com/diqiyao/p/14751232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!