Skip to content

Commit 2fbb983

Browse files
authored
Merge pull request #46 from tencentyun/remove_other
1.4.14
2 parents 9dba35c + a8302fb commit 2fbb983

File tree

4 files changed

+19
-123
lines changed

4 files changed

+19
-123
lines changed

conf/config.ini

Lines changed: 0 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -118,125 +118,3 @@ fileListPath=/data/config/myFileList.txt
118118
# 上传前是否检查服务端有数据,由开关 skipSamePath 控制. 执行顺序是先判断 checkLocalRecord, 再判断 skipSamePath, 其中任何一个判断结果跳过,再跳过不执行上传
119119
# 这个开关不会控制上传后是否记录数据库, 一定会记录的.
120120
checkLocalRecord=true
121-
122-
## 从阿里迁移到COS的配置分节
123-
[migrateAli]
124-
bucket=mybucket-test
125-
accessKeyId=xxxxxxxxxx
126-
accessKeySecret=yyyyyyyyyyy
127-
#友商的地址
128-
endPoint=oss-cn-shenzhen.aliyuncs.com
129-
# 要迁移的路径的前缀, 如果是迁移bucket下所有的数据, 则prefix为空
130-
prefix=
131-
# 如果要使用代理进行访问,则填写代理IP地址
132-
proxyHost=
133-
# 代理的端口
134-
proxyPort=
135-
# 访问ali时, 是否使用HTTPS传输(传输速度较慢,适用于对传输安全要求高的场景), on开启, off关闭
136-
srcHttps=off
137-
# 访问ali时, 连接ali服务器的超时时间,单位ms, 默认5000
138-
#srcConnectTimeout=5000
139-
# 访问ali时, 读取ali响应的超时时间,单位ms, 默认10000
140-
#srcSocketTimeout=10000
141-
142-
# 从七牛迁移到COS
143-
[migrateQiniu]
144-
# 从七牛迁移到COS的配置分节
145-
# 七牛的bucket名称
146-
bucket=mybucket
147-
# 七牛的账户信息
148-
accessKeyId=xxxxxxxxxx
149-
accessKeySecret=yyyyyyyyyyyyyyyy
150-
# 七牛的下载地址, 对应downloadDomain
151-
endPoint=wwww.bkt.clouddn.com
152-
# 要迁移的路径的前缀, 如果是迁移bucket下所有的数据, 则prefix为空
153-
prefix=
154-
# 如果要使用代理进行访问,则填写代理地址
155-
proxyHost=
156-
# 代理端口
157-
proxyPort=
158-
#公有读bucket可以填off, 其余填on. 默认on
159-
needSign=on
160-
161-
# 从通过URL列表进行迁移,URL列表里面填写的源文件的下载路径,该路径可以直接下载下来,迁移工具会将其再上传到COS上去
162-
[migrateUrl]
163-
# 使用url列表迁移,如果urllistPath填的是目录,那么就会把这个目录下所有文件都当作urllist文件去扫描迁移
164-
# 对于linux绝对路径, 如/a/b/c, 对于windows绝对路径,注意分隔符为两个反斜杠,如E:\\a\\b\\c
165-
urllistPath=/data/mydata/url
166-
167-
#on:迁移时不去head url,off:会head url,默认off。不去head可能导致源更新了,迁移工具却不知道,适用于确定源不更新,加快迁移速度。
168-
isSkipHead=
169-
170-
## 从AWS迁移到COS的配置分节
171-
[migrateAws]
172-
# aws的bucket
173-
bucket=aws-emr-test
174-
accessKeyId=xxxxxxxx
175-
accessKeySecret=yyyyyyyyyy
176-
# aws的endpoint地址, 必须使用域名, 不能使用region
177-
endPoint=s3.us-east-1.amazonaws.com
178-
# 要迁移的路径的前缀, 如果是迁移所有的,则prefix为空
179-
prefix=
180-
# 迁移的代理地址
181-
proxyHost=
182-
# 代理端口
183-
proxyPort=
184-
# 访问aws时, 是否使用HTTPS传输(传输速度较慢,适用于对传输安全要求高的场景), on开启, off关闭
185-
srcHttps=off
186-
# 访问aws时, 连接aws服务器的超时时间,单位ms, 默认5000
187-
#srcConnectTimeout=5000
188-
# 访问aws时, 读取aws响应的超时时间,单位ms, 默认10000
189-
#srcSocketTimeout=10000
190-
191-
# bucket copy
192-
[migrateBucketCopy]
193-
# 源 bucket的region信息. COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
194-
srcRegion=ap-shanghai
195-
# 源 Bucket的名称, 命名规则为{name}-{appid},即bucket名必须包含appid, 例如movie-1251000000
196-
srcBucketName=mysrcbucket-1251668555
197-
# 源bucket的endpoint suffix, 一般情况不用填写,适用于自定义域名CNAME到COS上传域名的客户.工具会在自动在在suffix前加上${bucketname}。最终形成的域名是
198-
# ${bucketName}.${srcEndPointSuffix}. srcEndPointSuffix的优先级比srcRegion高,如果设置了srcEndPointSuffix则会以srcEndPointSuffix来补充域名
199-
srcEndPointSuffix=
200-
# 源bucket隶属的用户的秘钥 secret_id (可在 https://console.qcloud.com/capi 查看)
201-
# 因为bucket copy支持跨账号,所以如果是另外一个账户的数据,则srcSecretId和common中的secretId不同
202-
# 如果是同一客户的数据, 则srcSecretId和common中的secretId相同
203-
srcSecretId=xxxxxxxxxxx
204-
# 源bucket隶属的用户的秘钥 secret_key(可在 https://console.qcloud.com/capi 查看)
205-
srcSecretKey=yyyyyyyyyyyyyyyy
206-
# 如果使用临时密钥访问存储桶,此处配置临时密钥的Token,该密钥需要有源桶的GetBucket(列出存储桶对象)和HeadObject权限
207-
# srcToken=zzzzzzzzzzz
208-
# 要迁移的cos路径的
209-
srcCosPath=/
210-
# 如果只需要迁移部分文件,可以通过srcFileList指定迁移文件列表,例如,只需要迁移aaa/1.jpg和bb/2.jpg,则:
211-
# $cat /data/fileList.txt
212-
# aaa/1.jpg
213-
# bbb/2.jpg
214-
#srcFileList=/data/fileList.txt
215-
216-
# 存储类型, 标准(Standard), 多AZ标准(Maz_Standard), 低频(Standard_IA), 多AZ低频(Maz_Standard_IA),
217-
# 智能分层(Intelligent_Tiering), 多AZ智能分层(Maz_Intelligent_Tiering), 归档(Archive), 深度归档(Deep_Archive)
218-
# 如果为空则代表复制所有的存储类型
219-
srcStorageClass=
220-
221-
[migrateCsp]
222-
bucket=xxx
223-
accessKeyId=xxx
224-
accessKeySecret=xxx
225-
endPoint=xxx.com
226-
227-
#指定了uriList之后,就只迁uri列表中的数据,不指定则是自动list全部数据然后迁移。uri格式不带域名,如:/dir1/subdir2/a.txt
228-
uriList=/data/uriList.txt
229-
prefix=
230-
231-
[migrateUpyun]
232-
# 从又拍迁移
233-
bucket=xxx
234-
accessKeyId=又拍云操作员id
235-
accessKeySecret=又拍云操作员密码
236-
prefix=
237-
#获取文件列表的顺序,true为正序,false为逆序
238-
acsendingOrder=true
239-
240-
#又拍云sdk限制,这个proxy会被设置成全局的proxy
241-
proxyHost=
242-
proxyPort=

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.qcloud</groupId>
55
<artifactId>cos_migrate_tool</artifactId>
6-
<version>1.4.13</version>
6+
<version>1.4.14</version>
77
<packaging>jar</packaging>
88
<properties>
99
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

src/main/java/com/qcloud/cos_migrate_tool/config/ConfigParser.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class ConfigParser {
2323

2424
private static final String MIGRATE_TYPE_SECTION_NAME = "migrateType";
2525
private static final String MIGRATE_TYPE = "type";
26+
private static final String DEPRECATED_TYPE = "deprecatedType";
2627

2728
private static final String COMMON_SECTION_NAME = "common";
2829
private static final String COMMON_REGION = "region";
@@ -323,6 +324,23 @@ private boolean initMigrateType(Preferences prefs) {
323324
String migrateTypeStr = getConfigValue(prefs, MIGRATE_TYPE_SECTION_NAME, MIGRATE_TYPE);
324325
assert (migrateTypeStr != null);
325326
migrateType = MigrateType.fromValue(migrateTypeStr);
327+
328+
/* check deprecated type
329+
[migrateType]
330+
type=migrateLocal
331+
deprecatedType=on
332+
*/
333+
334+
String deprecatedStr = getConfigValue(prefs, MIGRATE_TYPE_SECTION_NAME, DEPRECATED_TYPE);
335+
if (!"on".equalsIgnoreCase(deprecatedStr)) {
336+
if (migrateType != MigrateType.MIGRATE_FROM_LOCAL) {
337+
String errMsg = String.format("Deprecated type: %s is no longer supported, only %s is supported.", migrateType, MigrateType.MIGRATE_FROM_LOCAL);
338+
System.err.println(errMsg);
339+
log.error(errMsg);
340+
return false;
341+
}
342+
}
343+
326344
} catch (IllegalArgumentException e) {
327345
String errMsg = String.format("invalid config. section:%s, key:%s",
328346
MIGRATE_TYPE_SECTION_NAME, MIGRATE_TYPE);

0 commit comments

Comments
 (0)