rsync常见选项

2015年06月26日

在此记下我常用的rsync选项:

选项 用途
   
-r 递归到文件夹内
-l 保持软连接(目的端仍为软链接),-L具有相反含义
-H 保持硬链接,可防止重复复制文件
-pgo 保持权限(permission),属组(group),属主(owner)
-A 保持扩展权限
-X 保持ACLs1
-t 保持修改时间
-D 保持特殊设备文件
-a 同-rlptgoD,常用于备份
   
-z 利用gzip压缩
-c 强制文件hash校验
   
-delete 从目的端删除源端不存在的文件
--delete-after 同步文件完成后再删除目的端旧文件
   
-b/--backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
--suffix=SUFFIX 定义备份文件前缀
   
-n 演习同步过程,不实际操作
--partial 断点续传
--progress 显示传输进度
-P 同--partial --progress
-v 输出日志
-h 使用易读形式输出日志
   
--exclude=PATTERN 指定排除不需要传输的文件模式
--include=PATTERN 指定不排除而需要传输的文件模式
--exclude-from=FILE 排除FILE中指定模式的文件
--include-from=FILE 不排除FILE指定模式匹配的文件
-u/--update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

我一般要求保留所有权限,可续传地备份,并人性化地显示进度,远程的话加上压缩,得如下命令:

rsync -aAXH -P -vh -z MyVPS:/Source/* MyDesktop:/Destination