/wcs-rsync-tools

Rsync tools for wcs

Primary LanguageJava

文件同步工具

文件同步工具是基于网宿云存储提供的API开发的存量数据同步工具,可以将用户本地的数据以原有的目录结构同步到网宿云存储。

注:文件同步工具适用于存量文件的迁移,对于增量文件的同步请使用api上传接口

下载链接

命令行同步工具:

可视化同步工具:

注:根据操作系统的不同,选择链接下载

配置项

参数 必填 描述
accessKey 可登陆云存储控制台,在“安全管理--密钥管理”中获取。
secretKey 可登陆云存储控制台,在“安全管理--密钥管理”中获取。
uploadDomain
上传域名
上传文件使用的域名,可登陆云存储控制台,在“空间设置--访问域名”中获取。
mgrDomain
管理域名
工具进行文件HASH值比对等操作时需要使用该管理域名,可登陆云存储控制台,在“空间设置--访问域名”中获取。
syncMode
同步模式
仅命令行同步工具支持。
默认配置为0,支持单空间多目录的上传模式,需要填写bucket和syncDir,keyPrefix按需填写
配置为1,支持多空间多文件的上传模式,需要填写bucketAndDir。
bucket
空间名称
文件保存到指定的空间,如images,不支持配置多个。
若是使用命令行同步工具,syncMode配置为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>keyPriefix配置为data,上传文件为1.apk,则该文件在云存储保存为data1.apk;
<3>syncDir配置为D:/rsync1|D:/rsync2|D:/rsync3 keyPrefix配置为test1/|test2/
则rsync1下的文件(文件夹)保存在云存储test1目录下,rsync2的文件(文件夹)保存在test2目录下,rsync3的文件(文件夹)保存在根目录下。若配置的keyPrefix多于syncDir,则多余的keyPrefix不生效,取前几个目录。
若是使用命令行同步工具,syncMode配置为0时填写。
bucketAndDir
目标空间及本地路径
仅命令行同步工具支持,syncMode配置为1时必填
如bucket1|D:/dir1,D:/dir2|prefix1,prefix2/;bucket2|D:/dir3,D:/dir4
注:
<1>每个空间可以配置多个本地路径,本地路径支持文件夹和文件,文件需要带上后缀名
<2>本地路径和前缀一一对应,前缀的用法同参数keyPrefix
<3>空间名、本地路径和前缀使用"|"分隔,多个本地路径或多个前缀以英文逗号","分隔
<4>可配置多个空间、本地路径和前缀的组合,以";"分隔。
threadNum
上传并发数
文件并发上传线程数。配置范围是1-100,默认值为1。
如果配置为5,则可同时上传5个文件。
sliceThreshold
分片上传阈值
文件大小如果大于该值,则采用分片上传。单位兆(M),配置范围1M-100M,默认为4M。
sliceThread
分片上传并发数
默认并发数为5,配置范围为1-100
如果配置为5,表示可并发上传5个分片
sliceBlockSize
块大小
分片上传块的大小。取值范围:4M-1024M,且为4的倍数。默认4M。
sliceChunkSize
片大小
文件分片上传时每个分片的大小,单位KB,配置范围是1024-1048576KB。
注意:分片上传并发数、块大小、片大小这三个配置项只对分片上传有效。
deletable
同步删除
配置为0,本地文件删除后,云存储上的文件不删除
配置为1,本地文件删除后,云存储上的文件也将删除
注意:该配置只对上一次同步的文件生效,对其他历史同步文件不生效,默认为0,不同步删除
maxRate
限速
上传速度限制,单位KB/s。配置为0则表示不限速。
taskBeginTime
开始时间
工具开始上传文件的时间,格式为hh:mm:ss,如12:00:00。
taskEndTime
停止时间
工具停止上传文件的时间,格式为hh:mm:ss,如15:00:00。
isCompareHash
是否比对HASH
配置是否需要比对本地文件和云存储上同名文件的Hash值。
配置为0,表示不进行HASH对比,直接上传,
配置为1,表示进行HASH对比,如果同名文件hash相同,将不再上传,默认值为1。
countHashThreadNum
Hash计算并发数
计算hash的线程数。配置范围是1-100,默认值为1。如果配置为10,则可同时计算10个文件hash。
compareHashThreadNum
Hash比对并发数
比对本地和云存储上文件Hash值一致性,判断是否需要重新上传。
该参数设置比对hash的线程数。配置范围是1-100,默认值为1。
如果配置为10,则可同时启动10个线程比对hash。
compareHashFileNum
Hash比对文件数
比对文件Hash时,一次性从云存储查询到的文件hash数量。配置范围是1-2000,默认值为100。
如果配置为100,则一次从服务器群查询100个文件的hash。
minFileSize
最小文件
小于规定大小的文件不进行上传操作。默认值为0(不限制)。
如果配置为1024,则小于1024字节的文件不进行上传操作。
overwrite
是否覆盖
是否覆盖云存储上同名文件,可配置为1或者0。1表示覆盖,0表示不覆盖,默认为1。
isLastModifyTime
是否更新服务端修改时间
保存在云存储的lastModifyTime是否以本地文件更新时间为准,可配置为0或者1,默认为0。
0:表示以上传时间为lastModifyTime。
1:表示以本地文件修改时间为lastModifyTime。
scanOnly
是否仅扫描文件列表
是否仅扫描文件列表。
默认为0时,正常上传文件
配置为1时,仅扫描文件列表,记录修改时间,不上传文件;扫描后,再下一次仅同步本地的增量文件或者修改过的文件。
备注:该项为风险配置项,在使用前请与云存储工作人员确认
uploadErrorRetry
上传失败重试数
文件上传失败进行自动重试的次数。
配置范围是0-5,默认值为0,表示不重试。
如果配置为2,则文件上传失败会自动重试2次。
logLevel 命令行工具有效,指定需要打印的日志级别,可选debug、info、error三种日志级别
logPrefix 命令行工具有效,指定需要打印的日志前缀,默认打印在当前路径下,如指定logPrefix=/tmp/,则生成的日志文件完整名称为/tmp/wcs-rsync-hash.log。如不指定,则在控制台直接输出日志。
isSkip406 命令行工具有效,仅希望下一次继续同步在云上已存在的文件时才设置为0,默认为1-不再继续同步云上已存在的文件

命令行同步工具

使用建议

  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键,点击右键,选择“在此处打开命令窗口(W)”。
    执行命令:java -jar wcs-rsync-hash-xxx.jar conf.json。
    文件同步结束,若存在同步失败的文件,再次执行该命令,会重新同步上一次失败的文件
  4. 列出上传失败的文件。
    执行命令:java -jar wcs-rsync-hash-xxx.jar -listfailed conf.json。
    输出结果保存到工具目录下的log文件中。
  5. 强制重新上传所有文件:执行命令:java -jar wcs-rsync-hash-xxx.jar -igsync conf.json。
  6. 如过同步过程出现异常,可查看同步工具路径中生成的wcs-rsync-hash.log日志,通过ERROR级别日志分析失败原因。

可视化同步工具

使用方法

一、启动

  1. 编辑\service\wcsrsynchashweb\conf.json中的password配置控制台登录密码。
  2. 运行startup.bat开启服务
  3. 弹出TOMCAT运行窗口,服务成功开启后,浏览器会自动打开,进入到操作界面。服务开启后,允许关闭TOMCAT窗口,不影响使用。
  4. 服务开启期间,在其他机器,也可以通过浏览器实现远程操作,即打开浏览器,输入IP:Port进入操作界面 //备注:Port默认为8091

二、使用

  1. 配置accessKey、secretKey、bucket(存储空间名称)、本地同步路径、上传域名、管理域名。注:AccessKey、secretKey、上传和管理域名可到对象存储控制台获取。
  2. 配置完成后,点击"立即上传"按钮进行上传。
  3. 点击"进度查询按钮"查看当前同步进度。
  4. 点击"日志下载"查看同步过程日志,或者同步异常日志。 image image image

三、关闭:

  1. 运行shutdown.bat,关闭服务