File Rsync Tool

更新时间:2024-06-19 10:21:12

文件同步工具,利用CDNetworks对象存储API,将本地数据同步到CDNetworks对象存储,同时保留原始目录结构。该工具适用于迁移现有文件。对于增量文件同步,请使用API上传接口。

下载链接

开始前准备

  1. 确保已安装Java(JDK 1.6或更新版本)。
  2. 将配置文件和同步工具放在同一目录下。

使用方法

  1. 进入包含 wcs-rsync-hash 工具的目录(例如,Windows上的 F:\wcs-rsync 或 Linux上的 /home/tool/wcs-rsync)。
  2. 根据需要编辑 conf.json 文件。
  3. 启动服务:
    • 对于Windows:按住Shift键,在文件夹窗口中右键单击并选择“在此处打开命令窗口”。
    • 执行命令:java -jar wcs-rsync-hash-xxx.jar conf.json
    • 如果有文件同步失败,请重新运行命令以尝试重新同步。
  4. 查看失败的上传列表,执行:java -jar wcs-rsync-hash-xxx.jar -listfailed conf.json
    • 结果将保存到工具目录中的日志文件中。
  5. 强制重新上传所有文件,执行:java -jar wcs-rsync-hash-xxx.jar -igsync conf.json
  6. 如果同步过程中出现错误,请查看工具目录中的 wcs-rsync-hash.log 文件中的错误级别日志以诊断问题。

配置文件中的可调设置

以下是 conf.json 文件中的一些可调设置。您可以根据具体需求修改这些设置。

部分 项目 要求 描述
基本认证 accessKey 必填 访问云存储账户的唯一标识。可在控制台的“安全设置 - API信息管理 - AccessKey管理”中获取。
secretKey 必填 与AccessKey配对的私钥,用于身份验证。也可在控制台的“安全设置 - API信息管理 - AccessKey管理”中获取。
域设置 uploadDomain 必填 用于上传文件的特定域名。可在“Bucket - 概览 - 上传域名”中找到。
mgrDomain 必填 工具用于文件校验等后台操作的域名。也可在“Bucket - 概览 - 管理域名”中找到。
同步模式 syncMode 必填 确定同步策略:
- 0:单个Bucket,多目录模式。需要指定 BucketSync DirKey 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:/rsync3keyPrefix 设置为 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 可选 定义日志文件的位置和前缀;如果未指定,日志将直接输出到控制台。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!