在此记下我常用的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