Rsync 是一款开源的、快速的 多功能的 可以实现全量以及增量的本地或者是远程的数据同步备份的优秀工具
并且可以不进行改变原有的数据属性信息,实现数据的备份和迁移的特性 ,Rsync 软件适用于 Linux/unix/windows 等多种操作系统上 。
1.Rsync可以实现的备份方式
- 本地备份
- 远程备份
- 无差异备份
2.Rsync实现方式介绍
- 全量备份数据
- 增量备份数据
3.Rsync 特性总结说明 ;
-
01:支持多种类型文件拷贝
-
02:支持文件复制排除功能
-
03:支持文件复制属性不变
-
04:支持文件复制增量同步
-
05:支持文件复制隧道加密
-
06:支持守护进程同步数据
-
07:支持数据同步身份验证
-
1.可以镜像保存整个目录树和文件系统;
-
2.可以很容易做到保持原来文件的权限、时间、软硬链接等;
-
3.无须特殊权限即可安装;
-
4.优化的流程,文件传输效率高;使用同步算法,只比较变化的
-
5.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
-
6.支持匿名传输,以方便进行网站镜像。也可以做验证,加强安全
4.rsync功能
- 作为命令,实现本地-远程文件同步
- 作为服务,实现本地-远程文件同步
5.命令格式
- 1)本地使用:
rsync [OPTION...] SRC... [DEST]
- 2)通过远程 Shell 使用:
拉: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
推: rsync [OPTION...] SRC... [USER@]HOST:DEST
- 3)访问 rsync 服务器:
拉: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
推: rsync [OPTION...] SRC... [USER@]HOST::DEST
拉: rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
推: rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
其中:
SRC: 是要复制的源位置
DEST: 是复制目标位置
若本地登录用户与远程主机上的用户一致,可以省略 USER@
使用远程 shell 同步时,主机名与资源之间使用单个冒号“:”作为分隔符
使用 rsync 服务器同步时,主机名与资源之间使用两个冒号“::”作为分隔符
当访问 rsync 服务器时也可以使用 rsync:// URL
“拉”复制是指从远程主机复制文件到本地主机
“推”复制是指从本地主机复制文件到远程主机
当进行“拉”复制时,若指定一个 SRC 且省略 DEST,则只列出资源而不进行复制
6.常用选项
选项 说明
-a, ––archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (注意不包括 -H)
-r, ––recursive 对子目录以递归模式处理
-l, ––links 保持符号链接文件
-H, ––hard-links 保持硬链接文件
-p, ––perms 保持文件权限
-t, ––times 保持文件时间信息
-g, ––group 保持文件属组信息
-o, ––owner 保持文件属主信息 (super-user only)
-D 保持设备文件和特殊文件 (super-user only)
-z, ––compress 在传输文件时进行压缩处理
––exclude=PATTERN 指定排除一个不需要传输的文件匹配模式
––exclude-from=FILE 从 FILE 中读取排除规则
––include=PATTERN 指定需要传输的文件匹配模式
––include-from=FILE 从 FILE 中读取包含规则
––copy-unsafe-links 拷贝指向SRC路径目录树以外的链接文件
––safe-links 忽略指向SRC路径目录树以外的链接文件(默认)
––existing 仅仅更新那些已经存在于接收端的文件,而不备份那些新创建的文件
––ignore-existing 忽略那些已经存在于接收端的文件,仅备份那些新创建的文件
-b, ––backup 当有变化时,对目标目录中的旧版文件进行备份
––backup-dir=DIR 与 -b 结合使用,将备份的文件存到 DIR 目录中
––link-dest=DIR 当文件未改变时基于 DIR 创建硬链接文件
––delete 删除那些接收端还有而发送端已经不存在的文件
––delete-before 接收者在传输之前进行删除操作 (默认)
––delete-during 接收者在传输过程中进行删除操作
––delete-after 接收者在传输之后进行删除操作
––delete-excluded 在接收方同时删除被排除的文件
-e, ––rsh=COMMAND 指定替代 rsh 的 shell 程序
––ignore-errors 即使出现 I/O 错误也进行删除
––partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
––progress 在传输时显示传输过程
-P 等价于 ––partial ––progress
––delay-updates 将正在更新的文件先保存到一个临时目录(默认为 “.~tmp~”),待传输完毕再更新目标文件
-v, ––verbose 详细输出模式
-q, ––quiet 精简输出模式
-h, ––human-readable 输出文件大小使用易读的单位(如,K,M等)
-n, ––dry-run 显示哪些文件将被传输
––list-only 仅仅列出文件而不进行复制
––rsyncpath=PROGRAM 指定远程服务器上的 rsync 命令所在路径
––password-file=FILE 从 FILE 中读取口令,以避免在终端上输入口令,通常在 cron 中连接 rsync 服务器时使用
-4, ––ipv4 使用 IPv4
-6, ––ipv6 使用 IPv6
––version 打印版本信息
––help 显示帮助信息
网友评论