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 命令、标志和后端帮助。