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