rclone check

rclone check

检查源和目标中的文件是否匹配。

概要

检查源和目标中的文件是否匹配。它会比较文件的大小和哈希值(MD5 或 SHA1),并记录不匹配文件的报告。该命令不会对源或目标进行修改。

对于 crypt 远程存储,有一个专门的命令 cryptcheck,可以检查加密文件的校验和。

如果你提供 --size-only 标志,它将仅比较文件大小,而不比较哈希值。这适用于快速检查。

如果你提供 --download 标志,它将从两个远程存储下载数据,并在下载过程中实时比较。这对于不支持哈希值的远程存储或你确实需要检查所有数据的情况很有用。

如果你提供 --checkfile HASH 标志并指定有效的哈希名称,source:path 必须指向一个 SUM 格式的文本文件。

如果你提供 --one-way 标志,它将仅检查源中的文件是否与目标中的文件匹配,而不会反向检查。这意味着目标中存在但源中不存在的额外文件将不会被检测到。

--differ--missing-on-dst--missing-on-src--match--error 标志会将路径逐行写入指定的文件名(如果是 - 则写入标准输出)。下面的帮助信息将描述它们各自写入的内容。例如,--differ 将写入所有在源和目标中都存在但不同的文件路径。

--combined 标志将生成一个文件(或输出到标准输出),其中包含所有文件路径,并在路径前加上一个符号和一个空格,以表明文件的状态。这类似于 diff 文件。

  • = path 表示该路径在源和目标中都存在且完全相同
  • - path 表示该路径在源中缺失,仅存在于目标中
  • + path 表示该路径在目标中缺失,仅存在于源中
  • * path 表示该路径在源和目标中都存在,但内容不同
  • ! path 表示在读取或计算源文件或目标文件的哈希值时发生错误

默认的并行检查数量为 8。有关更多信息,请参阅 –checkers=N 选项。

rclone check source:path dest:path [flags]

选项

-C, --checkfile string        将 source:path 视为包含指定类型哈希值的 SUM 文件
      --combined string         将更改的综合报告写入此文件
      --differ string           将所有不匹配的文件报告写入此文件
      --download                通过下载而不是使用哈希值进行检查
      --error string            将所有有错误(哈希计算或读取)的文件报告写入此文件
  -h, --help                    查看 check 命令的帮助信息
      --match string            将所有匹配的文件报告写入此文件
      --missing-on-dst string   将所有目标端缺失的文件报告写入此文件
      --missing-on-src string   将所有源端缺失的文件报告写入此文件
      --one-way                 仅进行单向检查,源文件必须存在于远程端

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

检查选项

检查命令使用的标志

      --max-backlog int   同步或检查积压对象的最大数量(默认为 10000)

过滤器选项

用于过滤目录列表的标志

--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 表示)的文件(默认关闭)

列表选项

列出目录的标志

      --default-time Time   如果文件和目录的 modtime 未知,则显示时间(默认为 2000-01-01T00:00:00Z)
      --fast-list           如果有递归列表,则使用递归列表;使用的内存较多,但事务较少

参见

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