1.Rsync 基本概述
- Rsync 是开源多功能同步工具,支持多种操作系统,
- Rsync 支持本地复制(优于 scp,cp)与远程同步
- Rsync 支持全量备份, 增量备份,
- Rsync 基于 C/S 架构, 默认监听 tcp873 端口
Rsync 优点:
支持增量备份, 第一次全量备份, 第二次增量备份:边复制, 边比较, 边统计, 传输效率很高数据集中备份, 客户端可以推 push 送数据至服务端, 也可以从服务端 pull 获取数据, 以客户端为参照物.
保持文件属性, 符号链接, 硬链接, 权限, 时间等。
安全方式传输, rsync 本生不对数据加密, 使用 ssh 作为传输端口。
指定排除文件, 排除无需同步的文件或目录。
进程方式同步, rsync 运行在 C/S 架构, 通过进程方式传输文件或数据。
Rsync缺点:
大量小文件同步会比较慢, 需要比对较长时间, 有可能会造成 Rsync 进程停止,
解决思路: 将小文件进行打包, 然后在同步, 减少比对时间, 传输效率更高。
同步大文件会出现中断情况, 而且长时间同步会造成网络资源被耗尽
解决思路: 配置限速同步
2.Rsync 命令详解
- Rysnc 命令格式
rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
- Rsync 常用选项
参数选项 选项说明
参数选项 | 选项说明 |
---|---|
-a | //归档模式传输, 等于-tropgDl |
-v | //详细模式输出, 打印速率, 文件数量等 |
-z | //传输时进行压缩以提高效率 |
-r | //递归传输目录及子目录,即目录下得所有目录都同样传输。 |
-t | //保持文件时间信息 |
-o | //保持文件属主信息 |
-p | //保持文件权限 |
-g | //保持文件属组信息 |
-l | //保留软连接 |
-P | //显示同步的过程及传输时的进度等信息 |
-D | //保持设备文件信息 |
-L | //保留软连接指向的目标文件 |
-e | //使用的信道协议,指定替代 rsh 的 shell 程序 |
–exclude=PATTERN | //指定排除不需要传输的文件模式 |
–exclude-from=file | //文件名所在的目录文件 |
–bwlimit=100 | //限速传输 |
–partial | //断点续传 |
–delete | //让目标目录和源目录数据保持一致 两边其中一边任意删除一个,两边都会删除 |
Rsync 传输模式
- Rsync 大致使用三种主要的传输数据的方式:
本地传输 local
远程通道传输 remote shell
守护进程传输 daemon - 本地传输方式: 单个主机本地之间的数据传输(此时类似于 cp 命令)
//同步 hosts 文件到/bk 目录相当于 cp 命令
[root@bkserver ~]# rsync -avz /etc/hosts /bk/
sending incremental file list
created directory /bk
hosts
sent 136 bytes received 61 bytes 394.00 bytes/sec
total s