更新时间:2025-06-30 17:29:45
该文件同步工具基于 CDNetworks 对象存储 API,能够将本地数据同步至 CDNetworks 对象存储服务,并完美保留原有的目录结构。此工具特别适合用于迁移现有文件。如需增量文件同步功能,请使用 API 上传接口。
wcs-rsync-hash 工具的目录(例如,Windows上的 F:\wcs-rsync 或 Linux上的 /home/tool/wcs-rsync)。conf.json 文件。java -jar wcs-rsync-hash-xxx.jar conf.json。java -jar wcs-rsync-hash-xxx.jar -listfailed conf.json。
java -jar wcs-rsync-hash-xxx.jar -igsync conf.json。wcs-rsync-hash.log 文件中的错误级别日志以诊断问题。以下是 conf.json 文件中的一些可调设置。您可以根据具体需求修改这些设置。
| 部分 | 项目 | 要求 | 描述 |
|---|---|---|---|
| 基本认证 | accessKey | 必填 | 访问云存储账户的唯一标识。可在控制台的“账号管理 > 用户信息管理 > AccessKey 管理”中获取。 |
| secretKey | 必填 | 与AccessKey配对的私钥,用于身份验证。也可在控制台的“账号管理 > 用户信息管理 > AccessKey 管理”中获取。 | |
| 域名设置 | uploadDomain | 必填 | 用于上传文件的特定域名。可在“存储空间 - 概览 - 上传域名”中找到。 具体操作步骤您可以参考 查询域名 |
| mgrDomain | 必填 | 工具用于文件校验等后台操作的域名。也可在“上传域名 - 概览 - 管理域名”中找到。具体操作步骤您可以参考 查询域名 | |
| 同步模式 | syncMode | 必填 | 确定同步策略: 0:单个Bucket,多目录模式。需要指定 Bucket 和 Sync Dir;Key Prefix 是可选的。1:多Bucket,多目录模式。在这种情况下, Bucket And Dir 是必需的。 |
| 空间和路径 | bucket | 可选 | 指定文件将保存的Bucket。当 Sync Mode 设置为0时,此项必填。 |
| syncDir | 可选 | 待上传文件的本地路径,例如 /data。可以配置多个路径,以 | 分隔,例如 D:/pic-2|D:/rsync3。使用命令行同步工具时,如果 syncMode 设置为 0,此项必填。请注意: 对于Linux和Windows系统,在配置本地路径时,请使用 / 作为路径分隔符。Windows系统上的路径应包括驱动器号(例如 C:/data)。 |
|
| keyPrefix | 可选 | 指定上传到对象存储的文件的前缀。可以多次配置,并与 syncDir 中定义的路径一一对应。默认为空。例如:1. 如果 keyPrefix 配置为 data/,而上传的文件为 1.apk,该文件将保存为对象存储中的 data/1.apk。这意味着对象存储中会创建一个名为 data 的新文件夹,并将 1.apk 存放在此文件夹中。2. 如果 keyPrefix 设置为 data,上传的文件为 1.apk,则文件将保存为对象存储中的 data1.apk。3. 如果 syncDir 配置为 D:/rsync1|D:/rsync2|D:/rsync3,keyPrefix 设置为 test1/|test2/,则 rsync1 中的文件(和目录)将存储在对象存储中的 test1 目录下,rsync2 中的文件(和目录)将存储在 test2 目录下,rsync3 中的文件(和目录)将存储在根目录下。如果 keyPrefix 配置多于 syncDir 路径,则多余的 keyPrefix 设置将不起作用,只考虑前几个目录。 |
|
| 目标空间和本地路径 | bucketAndDir | 可选 | 指定从中上传文件的目标Bucket和本地路径。当 syncMode 配置为1时,此参数是必需的。例如:bucket1|D:/dir1,D:/dir2|prefix1,prefix2/;bucket2|D:/dir3,D:/dir4请注意: 1. 每个Bucket可以配置多个本地路径。本地路径可以是目录或文件,文件名必须包含其后缀。 2. 本地路径和前缀一一对应。前缀的应用规则与 keyPrefix 参数相同。3. Bucket名称、本地路径和前缀用 | 分隔。多个本地路径或多个前缀用逗号 , 分隔。4. 可以组合多个Bucket、本地路径和前缀的配置,用分号 ; 分隔。 |
| 性能相关设置 | threadNum | 可选 | 设置并发上传的文件数,范围1-100,默认1。 |
| sliceThreshold | 可选 | 启用分块上传的文件大小阈值,单位MB,范围1-100MB,默认4MB。 | |
| sliceThread | 可选 | 分块上传的并发线程数,范围1-100,默认5。 | |
| sliceBlockSize | 可选 | 分块上传期间的单个块大小,范围4M-1024M,必须是4的倍数,默认4M。 | |
| sliceChunkSize | 可选 | 每个块的大小,单位KB,范围1024-1048576KB。 | |
| 同步行为 | deletable | 可选 | 确定本地文件删除时云存储文件的行为,0保留,1同步删除,默认0。 |
| maxRate | 可选 | 上传速度限制,单位KB/s,0表示无限制。 | |
| taskBeginTime | 可选 | 计划任务开始时间,格式 hh:mm:ss。 | |
| taskEndTime | 可选 | 计划任务结束时间,格式 hh:mm:ss。 | |
| 数据验证 | isCompareHash | 可选 | 启用或禁用文件内容哈希值比较,默认1(启用)。 |
| countHashThreadNumHash | 可选 | 哈希值计算的并发级别,范围1-100,默认1。 | |
| compareHashThreadNumHash | 可选 | 哈希值比较的并发级别,范围1-100,默认1。 | |
| compareHashFileNumHash | 可选 | 每批次从云存储中比较哈希的文件数,范围1-2000,默认100。 | |
| 过滤规则 | minFileSize | 可选 | 小于此值的文件将不参与上传,单位字节,默认0(无限制)。 |
| overwrite | 可选 | 确定是否覆盖云端的现有文件,1覆盖,0不覆盖,默认1。 | |
| isLastModifyTime | 可选 | 将文件修改时间同步到云存储,默认0(使用上传时间),1(使用本地修改时间)。 | |
| 特殊功能 | scanOnly | 可选 | 用于扫描而不上传,0为正常上传,1为仅扫描,默认0。 |
| uploadErrorRetry | 可选 | 上传失败后的自动重试次数,范围0-5,默认0(不重试)。 | |
| isSkip406 | 可选 | 确定是否跳过云端已存在的文件,1跳过,0不跳过,默认1。 | |
| 日志记录 | logLevel | 可选 | 指定日志级别,可选 debug, info, error。 |
| logPrefix | 可选 | 定义日志文件的存储位置和前缀;如果未指定,日志将直接输出到控制台。 |