更新时间:2024-06-19 10:21:12
文件同步工具,利用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 | 必填 | 访问云存储账户的唯一标识。可在控制台的“安全设置 - API信息管理 - AccessKey管理”中获取。 |
secretKey | 必填 | 与AccessKey配对的私钥,用于身份验证。也可在控制台的“安全设置 - API信息管理 - AccessKey管理”中获取。 | |
域设置 | uploadDomain | 必填 | 用于上传文件的特定域名。可在“Bucket - 概览 - 上传域名”中找到。 |
mgrDomain | 必填 | 工具用于文件校验等后台操作的域名。也可在“Bucket - 概览 - 管理域名”中找到。 | |
同步模式 | 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 | 可选 | 定义日志文件的位置和前缀;如果未指定,日志将直接输出到控制台。 |