1 基础知识
1.1 Rsync简介
可实现全量及增量、本地或远程的数据同步备份的工具
官网:rsync(1) man page
相当于cp(本地复制)、scp(远程复制)、rm(删除)命令的合体但比这三个命令更优秀
既能够备份数据内容,也能够备份属性信息
1.2 Rsync优缺点:
- 优点:
- 支持拷贝特殊文件如链接文件,设备等
- 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能
- 可以做到保持元文件或目录的权限、时间、软硬链接、属主、组等所有属性均不变
- 可时间增量同步、即只同步发生变化的数据,因此数据的效率很高
- 可以使用rcp,rsh,ssh等方式来配合传输文件达到加密传输
- 可以通过socket(守护进程方式)传输文件和数据(服务端和客户端)
- 支持匿名的、认证的(无需系统用户)进程模式传输,可方便安全的进行数据备份及镜像
- 缺点:
- 大量小文件同步的时候,时间较长,有时候rsync进程可能会停止
- 同步10G这样的大文时时,可能会中断,未完整同步前,是隐藏文件
- rsync本身不对数据加密,需配合ssh等实现加密
1.3 Rsync的工作方式
- 单个主机本地之间的数据传输(类似于cp)
- 借助rcp,ssh等通道来传输数据(类似于scp)
- 以守护进程(socket)的方式来传输数据(服务端和客户端)
2 普通用法
2.1 基本参数
常用参数:avz或az
-v 详细模式输出,传输时的进度等信息
-z 传输时进行压缩以提高传输效率。--compress-level=NUM可按级别压缩
-a 归档模式,表示以递归方式传输文件,并保持文件说有属性,等于rtopgDI
-r 对子目录以递归传递,即目录下的所有目录都同样传输,注意是小写r
-t 保持稳健时间信息
-o 保持文件属主信息
-p 保持文件权限
-g 保持文件属组信息
-P 显示同步的过程及传输的进度等信息
-D 保持设备文件信息
-l 保留软链接
-e 使用指定的shell程序替代传输用的rsh管道,如ssh
--exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样)
--exclude-from=file 指定排除某个目录