最近更新时间:2024.04.17 16:11:39
首次发布时间:2022.11.03 10:30:29
您可以使用 cp
命令拷贝对象。
拷贝单个对象
./tosutil cp tos://srcbucket/srckey tos://dstbucket/[dstkey] [-dryRun] [-u] [-p=1] [-threshold=104857600] [-ps=auto] [-cpd=xxx] [-versionId=xxx] [-acl=xxx] [-meta=aaa:bbb#ccc:ddd] [-sse=xxx] [-sseKeyId=xxx] [-contentType=xxx] [-contentDisposition=xxx] [-contentEncoding=xxx] [-contentLanguage=xxx] [-cacheControl=xxx] [-expires=xxx] [-fr] [-o=xxx] [-e=xxx] [-re=xxx] [-i=xxx] [-k=xxx] [-t=xxx] [-conf=xxx]
批量拷贝对象
./tosutil cp tos://srcbucket[/srcprefix] tos://dstbucket[/dstprefix] -r [-dryRun] [-u] [-flat] [-j=1] [-p=1] [-threshold=104857600] [-nfj=1] [-ps=auto] [-cpd=xxx] [-acl=xxx] [-meta=aaa:bbb#ccc:ddd] [-sse=xxx] [-sseKeyId=xxx] [-contentType=xxx] [-contentDisposition=xxx] [-contentEncoding=xxx] [-contentLanguage=xxx] [-cacheControl=xxx] [-expires=xxx] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-dmf] [-o=xxx] [-e=xxx] [-re=xxx] [-i=xxx] [-k=xxx] [-t=xxx] [-conf=xxx]
tosutil 支持通过 -j
及 -p
参数调整并发数。当您批量上传大文件时,实际并发数为 -j
乘以 -p
参数。调整建议如下:
-nfj
参数和 -j
参数分别控制非分片任务和分片任务的并发数。例如设置 -j=100,-nfj=80
,表示总并发数为 100,当执行非分片任务(一般是小文件)时,最大的并发数为 80;当执行分片任务(一般是大文件)时,最大的并发数为 20。maxRetryCount
参数,通过不断重试错误解决公网网络不稳定的问题。-j
和 -p
参数,避免因并发过高导致客户端超带宽,进而出现断流失败等情况。-ps
参数,降低分片大小,有利于提高单个分片上传/下载/复制的成功率。注意
在海量小文件场景中,如果您设置了较高的 -j
,导致 TPS 超过 1000,您需要同步上调 maxConnections
参数,更多信息,请参见配置文件说明。
通用可选参数的说明,请参见通用可选参数。
参数名 | 参数类型 | 描述 |
---|---|---|
srcbucket | String | 复制对象的源桶名。 |
srckey | String | 复制的源对象名。 |
dstbucket | String | 复制对象的目的桶名。 |
dstkey | String | 复制对象的目的对象名。 |
srcprefix | String | 批量复制时的源对象名前缀。 |
dstprefix | String | 批量复制时的目的对象名前缀。 |
-r | Bool | 执行批量上传、下载或复制操作。 |
-dryRun | Bool | 测试模式运行,不执行实际的上传、下载或复制操作。 |
-recover | String | 待恢复上传、下载或复制对象任务的结果清单文件任务 ID。 |
-u | Bool | 增量上传、下载或复制对象,设置该参数后,会比较源端和目标端,建议您在以下场景下使用该参数:
|
-pipe | Bool | 使用管道流模式复制对象。 |
-pe | String | 使用管道流模式复制对象时指定目标桶的 endpoint。 |
-flat | Bool | 上传、下载或复制对象时不包含相对父目录。 |
-j | Integer | 批量任务的最大并发数, |
-p | Integer | 每个分片任务的最大并发数, |
-threshold | Integer | 开启分片任务的阈值,单位:字节,默认为配置文件中的 说明 支持带容量单位配置,例如,配置 1MB 代表 1048576 字节。 |
-nfj | Integer | 批量任务的处理普通文件或对象(非分片任务)的最大并发数。当设置该参数后, |
-ps | Integer/String | 每个分片任务的段大小,单位:字节,默认为配置文件中的 说明 支持带容量单位配置,例如,配置 1MB 代表 1048576 字节。 |
-cpd | String | 生成断点记录文件的文件夹,默认为配置文件中的 |
-versionId | String | 下载或复制单个对象的版本号。 |
-acl | String | 上传或复制对象时可指定的预定义访问策略。支持的值如下:
|
-meta | String | 上传或复制对象时可指定的自定义元数据。 |
-sse | String | 上传、复制对象时使用的服务端加密算法,支持的值:
默认为配置文件中的 defaultSse。 |
-sseKeyId | String | 上传、复制对象且指定服务端加密算法为 kms 时,使用的 kms 密钥,默认为配置文件中的 defaultSseKeyId。 |
-contentType | String | 上传、复制对象时设置对象的 Content-Type。 |
-contentDisposition | String | 上传、复制对象时设置对象的 Content-Disposition。 |
-contentEncoding | String | 上传、复制对象时设置对象的 Content-Encoding。 |
-contentLanguage | String | 上传、复制对象时设置对象的 Content-Language。 |
-cacheControl | String | 上传、复制对象时设置对象的 Cache-Control。 |
-expires | String | 上传、复制对象时设置对象的 Expires,格式为:YYYYMMDDHHmmSS。 |
-include | String | 上传、下载或复制时对包含文件的名称匹配模式,支持以下字符:
例如 说明
|
-exclude | String | 上传、下载或复制时对不包含文件的名称匹配模式,支持以下字符:
例如 说明
|
-timeRange | String | 上传、下载或复制时文件最后修改时间的时间段匹配模式,格式为: |
-dmf | Bool | 设置名称匹配模式 |
-marker | String | 批量复制时指定列举对象的开始位置。 |
-fr | Bool | 操作单个对象时生成结果清单文件。 |
-o | String | 生成结果清单文件的文件夹,默认为配置文件中的 |
以下命令用于将 bucketname 桶中的 object1.png 对象,复制到 tosutil 桶中,复制后对象命名为 destobject.png。
命令
./tosutil cp tos://bucketname/object1.png tos://tosutil/destobject.png
返回
Start at 2022-10-27 10:57:24.353686 +0000 UTC Parallel: 1 Jobs: 5 Threshold: 100.00MB PartSize: auto CheckpointDir: /.tosutil_checkpoint Copy successfully, 55.98KB, tos://bucketname/object1.png --> tos://tosutil/destobject.png, cost [154], status [200], request id [55fa485a6414248e635a6414-ac13a11a-1oo0Zg-CO-cb-tos-bj]
以下命令用于将 bucketname 桶中前缀为 object 的对象,复制到 tosutil 桶中,复制后对象前缀为 destobject。
命令
./tosutil cp tos://bucketname/object tos://tosutil/destobject -r
返回
Start at 2022-10-27 10:57:43.32094 +0000 UTC Parallel: 1 Jobs: 5 Threshold: 100.00MB PartSize: auto CheckpointDir: /Users/.tosutil_checkpoint OutputDir: /Users/.tosutil_output [-------------------------------------------------] 100.00% tps:23.37 4/4 371ms Succeed count is: 4 Failed count is: 0 Metrics [max cost:330 ms, min cost:92 ms, average cost:186.25 ms, average tps:10.75] Task id is: 2ee1abfa-55e6-11ed-b269-aa665a3c7f26