rclone bisync

rclone bisync

rclone bisync

在两个路径之间执行双向同步。

概要

在两个路径之间执行双向同步。

双向同步 为 rclone 提供了一种双向云同步解决方案。 它会保留上一次运行时路径1(Path1)和路径2(Path2)的文件系统列表。 在每次后续运行时,它将执行以下操作:

  • 列出路径1和路径2上的文件,并检查每一侧的更改。 更改包括新文件较新文件较旧文件已删除文件
  • 将路径1上的更改传播到路径2,反之亦然。

双向同步功能处于测试阶段,被视为高级命令,因此请谨慎使用。 在使用之前,请确保您已经阅读并理解了整个手册 (特别是限制部分), 否则可能会导致数据丢失。如有疑问,可在 Rclone 论坛 提问。

有关详细信息,请参阅 完整的双向同步说明

rclone bisync remote1:path1 remote2:path2 [flags]

选项

      --backup-dir1 string                   Path1 的备份目录。必须是同一远程上不重叠的路径。
      --backup-dir2 string                   Path2 的备份目录。必须是同一远程上不重叠的路径。
      --check-access                         确保在 Path1 和 Path2 文件系统上都能找到预期的 RCLONE_TEST 文件,否则中止操作。
      --check-filename string                --check-access 使用的文件名(默认值:RCLONE_TEST)
      --check-sync string                    控制最终列表的比较方式:true|false|only(默认值:true)
      --compare string                       以逗号分隔的双向同步特定比较选项列表,例如 'size,modtime,checksum'(默认值:'size,modtime')
      --conflict-loser ConflictLoserAction   对同步冲突的输家(有赢家时)或两个文件(无赢家时)采取的操作:num, pathname, delete(默认值:num)
      --conflict-resolve string              自动解决冲突,优先选择以下版本:none, path1, path2, newer, older, larger, smaller(默认值:none)
      --conflict-suffix string               重命名 --conflict-loser 时使用的后缀。可以是一个字符串,也可以是两个用逗号分隔的字符串,分别为 Path1/Path2 指定不同的后缀。(默认值:'conflict')
      --create-empty-src-dirs                同步空目录的创建和删除操作。(与 --remove-empty-dirs 不兼容)
      --download-hash                        当无法获取哈希值时,通过下载文件来计算哈希值。(警告:可能会很慢并消耗大量数据!)
      --filters-file string                  从文件中读取过滤规则
      --force                                绕过 --max-delete 安全检查并运行同步。建议与 --verbose 一起使用
  -h, --help                                 显示 bisync 命令的帮助信息
      --ignore-listing-checksum              列表时不使用校验和(添加 --ignore-checksum 以额外跳过复制后校验和检查)
      --max-lock Duration                    认为超过此时间的锁文件已过期(默认值:0(永不过期))(最小值:2m)
      --no-cleanup                           保留工作文件(有助于故障排除和测试)。
      --no-slow-hash                         仅在后端计算校验和较慢时忽略列表校验和
      --recover                              无需 --resync 即可自动从中断中恢复。
      --remove-empty-dirs                    在最终清理步骤中删除所有空目录。
      --resilient                            允许未来运行在某些不太严重的错误后重试,而不是需要 --resync。使用时请自行承担风险!
  -1, --resync                               执行重新同步操作。相当于 --resync-mode path1。建议先使用 --verbose 或 --dry-run。
      --resync-mode string                   重新同步时,优先选择以下版本:path1, path2, newer, older, larger, smaller(默认值:如果使用 --resync 则为 path1,否则为 none 表示不重新同步)
      --slow-hash-sync-only                  列表和差异计算时忽略慢校验和,但在同步调用时仍考虑它们。
      --workdir string                       使用自定义工作目录 - 用于测试。(默认值:{WORKDIR})

接下来将介绍与其他命令共享的选项。 有关此处未列出的全局选项,请参阅 全局标志页面

复制选项

任何可以复制文件的标志

--check-first                                 在开始传输前进行所有检查
  -c, --checksum                                    使用大小和校验和(如果可用,否则仅使用大小)检查更改
      --compare-dest stringArray                    在比较时包含额外的服务器端路径
      --copy-dest stringArray                       意味着使用 --compare-dest,同时将文件从指定路径复制到目标位置
      --cutoff-mode HARD|SOFT|CAUTIOUS              达到最大传输限制时停止传输的模式:HARD|SOFT|CAUTIOUS(默认值:HARD)
      --ignore-case-sync                            同步时忽略大小写
      --ignore-checksum                             跳过复制后的校验和检查
      --ignore-existing                             跳过目标位置已存在的所有文件
      --ignore-size                                 跳过文件时忽略大小,使用修改时间或校验和
  -I, --ignore-times                                不跳过大小和时间匹配的项目 - 无条件传输所有文件
      --immutable                                   不修改文件,如果现有文件已被修改则失败
      --inplace                                     直接下载到目标文件,而不是先原子下载到临时文件再重命名
  -l, --links                                       将符号链接转换为带有 '.rclonelink' 扩展名的常规文件,反之亦然
      --max-backlog int                             同步或检查积压中的最大对象数量(默认值:10000)
      --max-duration Duration                       rclone 传输数据的最长持续时间(默认值:0s)
      --max-transfer SizeSuffix                     要传输的数据的最大大小(默认值:无限制)
  -M, --metadata                                    如果设置,则在复制对象时保留元数据
      --modify-window Duration                      被视为相同的最大时间差(默认值:1ns)
      --multi-thread-chunk-size SizeSuffix          多线程下载/上传的块大小,如果文件系统未设置(默认值:64Mi)
      --multi-thread-cutoff SizeSuffix              对于大于此大小的文件使用多线程下载(默认值:256Mi)
      --multi-thread-streams int                    多线程下载使用的流数量(默认值:4)
      --multi-thread-write-buffer-size SizeSuffix   多线程模式下写入的内存缓冲区大小(默认值:128Ki)
      --no-check-dest                               不检查目标位置,无论如何都进行复制
      --no-traverse                                 复制时不遍历目标文件系统
      --no-update-dir-modtime                       不更新目录的修改时间
      --no-update-modtime                           如果文件相同,则不更新目标文件的修改时间
      --order-by string                             关于如何对传输进行排序的指令,例如 'size,descending'
      --partial-suffix string                       当不使用 --inplace 时,为临时文件名添加部分后缀(默认值:".partial")
      --refresh-times                               刷新远程文件的修改时间
      --server-side-across-configs                  允许跨不同配置进行服务器端操作(例如复制)
      --size-only                                   仅根据大小跳过文件,不考虑修改时间或校验和
      --streaming-upload-cutoff SizeSuffix          如果文件大小未知,切换到分块上传的阈值,达到阈值或文件结束时开始上传(默认值:100Ki)
  -u, --update                                      跳过目标位置较新的文件

重要选项

对大多数命令有用的重要标记

  -n, --dry-run         进行试运行,不做永久性更改
  -i, --interactive     启用交互模式
  -v, --verbose count   打印更多内容(重复更多内容)

过滤器选项

用于过滤目录列表的标记

      --delete-excluded                     删除目标端中被排除在同步之外的文件
      --exclude stringArray                 排除符合指定模式的文件
      --exclude-from stringArray            从文件中读取要排除的文件模式(使用 - 从标准输入读取)
      --exclude-if-present stringArray      如果指定文件名存在,则排除该目录
      --files-from stringArray              从文件中读取源文件名列表(使用 - 从标准输入读取)
      --files-from-raw stringArray          从文件中读取源文件名列表,不对行进行任何处理(使用 - 从标准输入读取)
  -f, --filter stringArray                  添加文件过滤规则
      --filter-from stringArray             从文件中读取文件过滤模式(使用 - 从标准输入读取)
      --ignore-case                         在过滤时忽略大小写(大小写不敏感)
      --include stringArray                 包含符合指定模式的文件
      --include-from stringArray            从文件中读取要包含的文件模式(使用 - 从标准输入读取)
      --max-age Duration                    仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更新的文件(默认关闭)
      --max-depth int                       如果设置,则将递归深度限制为此值(默认 -1)
      --max-size SizeSuffix                 仅传输小于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)
      --metadata-exclude stringArray        排除符合指定模式的元数据
      --metadata-exclude-from stringArray   从文件中读取要排除的元数据模式(使用 - 从标准输入读取)
      --metadata-filter stringArray         添加元数据过滤规则
      --metadata-filter-from stringArray    从文件中读取元数据过滤模式(使用 - 从标准输入读取)
      --metadata-include stringArray        包含符合指定模式的元数据
      --metadata-include-from stringArray   从文件中读取要包含的元数据模式(使用 - 从标准输入读取)
      --min-age Duration                    仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更旧的文件(默认关闭)
      --min-size SizeSuffix                 仅传输大于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)

参见

  • rclone - 显示 rclone 命令、标志和后端帮助。