阿里云OSS to 网易NOS 手册
本工具用于将阿里云 oss 上的对象迁移到网易 NOS
Java环境
JDK 6 及以上版本
安装
将 OSStoNOS-1.0.tar.gz 解压到一个目录下,如:
$ tar -zxvf OSStoNOS-1.0.tar.gz
$ cd OSStoNOS-1.0/
$ ls
conf lib run.sh
$ chmod +x run.sh
可以看到该目录包含如下文件和文件夹:conf lib run.sh,其中命令 chmod +x run.sh 将 run.sh 变为可执行文件。
修改配置文件
修改 conf/nos-tool.xml 文件,如下:
$ cat conf/nos-tool.xml
<nos-tool>
<aliyunHost>oss-cn-hangzhou.aliyuncs.com</aliyunHost>
<aliyunAccessKey>ossAccessKey</aliyunAccessKey>
<aliyunSecretKey>ossSecretKey </aliyunSecretKey>
<aliyunBucket>ossBucket</aliyunBucket>
<nosHost>nos-eastchina1.126.net</nosHost>
<nosAccessKey>nosAccesskey</nosAccessKey>
<nosSecretKey>nosSecretkey</nosSecretKey>
<nosBucket>nosBucket</nosBucket>
</nos-tool>
配置项解释如下:
- aliyunHost:OSS桶的外网EndPoint,如oss-cn-hangzhou.aliyuncs.com
- aliyunAccessKey:您在OSS上的Accesskey
- aliyunSecretKey:您在OSS上的SecretKey
- aliyunBucket:您的OSS桶名,迁移的源
- nosHost:NOS桶的访问域名,如nos-eastchina1.126.net
- nosAccessKey:您在NOS上的Accesskey
- nosSecretKey:您在NOS上的SecretKey
- nosBucket:您的NOS桶名,迁移的目的地
启动迁移
修改好配置项后,迁移非常简单,只需要执行./run.sh即可 (首次使用需要赋予tool.sh文件可执行权限:$ chmod +x tool.sh)
程序每迁移100个会记录一个marker,保存在当前目录的以OSS桶命名的文件中。程序如果中途挂掉,下次启动会以该marker开始进行迁移,如果删除该以OSS桶命名的文件,程序会重新从头开始迁移。
查看迁移日志
日志在log/transfer.log文件中,如下:
$ cat log/transfer.log
[INFO ]2016-09-21 20:56:58,547,[Class]Config, aliyunHost : oss-cn-hangzhou.aliyuncs.com
[INFO ]2016-09-21 20:56:58,547,[Class]Config, aliyunAccessKey : ossAccessKey
[INFO ]2016-09-21 20:56:58,548,[Class]Config, aliyunSecretKey : ossSecretKey
[INFO ]2016-09-21 20:56:58,548,[Class]Config, aliyunBucket : ossBucket
[INFO ]2016-09-21 20:56:58,548,[Class]Config, nosHost : nos-eastchina1.126.net
[INFO ]2016-09-21 20:56:58,548,[Class]Config, nosAccessKey : nosAccesskey
[INFO ]2016-09-21 20:56:58,548,[Class]Config, nosSecretKey : nosSecretkey
[INFO ]2016-09-21 20:56:58,548,[Class]Config, nosBucket : zhbtest
[INFO ]2016-09-21 20:56:59,023,[Class]NosTool, start to transfer oss bucket 'ossBucket' to nos bucket 'zhbtest'
[INFO ]2016-09-21 20:56:59,027,[Class]NosTool, transfer 1 object: haha.txt success
[INFO ]2016-09-21 20:56:59,029,[Class]NosTool, transfer 2 object: hehe.txt success
[INFO ]2016-09-21 20:56:59,040,[Class]NosTool, transfer done!
日志将配置信息打印出来,并且将上传成功与失败的对象名都打印出来了。