文档中心

# KS3Up-tool数据迁移工具说明

一.主要特性

  1. 支持将本地目录内文件或公有云文件同步到指定KS3 Bucket上,目前支持将金山云KS3、阿里云OSS、百度云和七牛云设置为迁移源

  2. 支持增量上传:a. 不在成功列表中;b. 在成功列表中,但最后更新时间不同

  3. 支持大文件断点续传

  4. 支持流量控制

  5. 并发上传

  6. 迁移进度查询

  7. 海量文件迁移部失败情况,重新全量上传即可,已经成功上传的文件会自动跳过(勿删除log)

工具下载地址

二.运行环境

用户系统需要具备jdk1.6或以上环境,建议使用Oracle版本JDK

Windows安装jdk1.6

方法参考

http://jingyan.baidu.com/article/b24f6c82c989da86bfe5dab2.html

安装完成后,在命令提示符下,执行java –version,来确认是否安装成功

如下所示,即安装成功

Linux安装jdk1.6

方法参考

http://jingyan.baidu.com/article/91f5db1bdb7ee41c7e05e373.html

安装完成后,在终端下执行java –version,来确认是否安装成功

如下所示,即安装成功

三.使用方式

假设work_dir=/your_dir/ 配置文件中请填写绝对路径

1.解压文件

unzip ks3up-tool-XXXXXXXX.zip -d ${work_dir}

2.填写配置文件xxx.conf

根据${work_dir}下解压后的sample.conf,创建用户自己新的任务配置文件xxx.conf,

配置文件中,字段具体含义如下

字段 说明 是否必填
srcType 同步源类型,不能为空
(1) 目前只支持选项:local/ks3/oss/bos/qiniu
srcAccessKey 数据源的AccessKey
(1) 如果srcType是local,则忽略此选项
srcSecretKey 数据源的SecretKey
(1) 如果srcType是local,则忽略此选项
srcDomain 数据源的endpoint
(1) 如果srcType是local,则忽略此选项
srcBucket 源bucket
(1) 如果srcType是local,则忽略此选项
srcPrefix 源前缀
(1) 如果srcType=local,则填写本地待同步目录或文件,请注意您需要填写完整的目录或文件路径(linux下路径分隔符为“/”, win下路径分隔符为“/”或“\\\\”)
(2) 如果srcPrefix指定的是一个文件,则上传后的objectKey是dstPrefix + “/” + relativeFileName
dstAccessKey KS3 AccessKey
dstSecretKey KS3 SecretKey
dstDomain bucket所在区域对应域名,不同的域名不同。
(1) 请参照https://ks3.console.ksyun.com/doc/api/index.html
dstBucket KS3 bucket名称
dstPrefix 上传到KS3上时需要添加的前缀名(目录)
maxNetThroughput 单位为KB/s,<=0 表示不设限
threadsNum 并发上传的线程数
(1) 配置的数目不能<=0
(2) 根据实际情况填写,更大的值可能会需要更大的运行内存,并且需要调整java运行的参数
cannedAcl 文件权限配置
(1)可选项private/publicread
(2) private私密
(3)publicread公开

3.执行选项

(1) 启动任务

java -jar ks3up-1.0.0.jar -c xxx.conf start

linux环境下如果想要后台执行,则用如下命令:

nohup java -jar ks3up-1.0.0.jar -c xxx.conf start > nohup.out 2>&1 &

注意:srcBucket, srcPrefix, dstBucket, dstPrefix确定任务的唯一性

(2) 查询任务状态

java -jar ks3up-1.0.0.jar -c xxx.conf stat

(3) 清空任务数据

java -jar ks3up-1.0.0.jar -c xxx.conf clean

注意:

  • 若任务正在运行,则不能清空
  • 若任务未曾运行过,则会提示任务不存在
  • 使用增量上传功能,需保留任务数据

(4) 导出成功文件列表

 java -jar ks3up-1.0.0.jar -c xxx.conf export_ok_list ${export_file}

注意:只有任务退出,该操作才允许被执行

(5) 导出失败文件列表

 java -jar ks3up-1.0.0.jar -c xxx.conf export_fail_list ${export_file}

注意:只有任务退出,该操作才允许被执行

(6) 增量上传 以及 失败重传

等待当前任务退出后,重新执行“启动任务”的命令,要注意,任务的配置文件不要做修改

 java -jar ks3up-1.0.0.jar -c xxx.conf start

注意事项:

  1. 执行选项start持续运行,所需最小内存为100MB

4.日志和运行情况

会在${work_dir}下创建logs目录,执行情况可关注statistic.log,如有问题请将info.log,warn.log,error.log发给ks3售前(后)咨询

5.本地目录上传示例

srcType=local

srcPrefix=/dir1/dir2/

dstAccessKey=your_ak

dstSecretKey=your_sk

dstDomain=kss.ksyun.com

dstBucket=your_bucket

dstPrefix=leve1/level2/

如上所示配置文件,则本地文件/dir1/dir2/dir3/a.txt ,上传完毕后存在ks3的位置是level1/level2/dir3/a.txt

四.常见错误

  1. 目标桶是否存在,dstDomain设置和目标桶对应关系是否正确
  2. dstAccessKey和dstSecretKey是否正确
  3. 在windows环境下,srcPrefix目录分隔符用"/"或"\",不能用"\"