功能说明
上传单个或多个本地文件或文件夹至OBS指定路径。待上传的文件可以是任何类型:
文本文件、图片、视频等等。
须知
上传本地文件或文件夹时,请确保本地文件或文件夹在上传过程不发生变化,否则可 能产生上传失败或者数据不一致的问题。
约束与限制
obsutil对上传的文件或文件夹有大小限制,最小可以上传0Byte的空文件或文件夹,最 大可以上传5GB(未采用分段上传)或48.8TB(采用分段上传)的单个文件。
命令结构
● Windows操作系统
– 上传文件
obsutil cp file_url obs://bucket[/key] arcDir=xxx] dryRun] link] u] vlength] vmd5] p=1] threshold=5248800] acl=xxx] sc=xxx] meta=aaa:bbb#ccc:ddd] ps=auto] o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 上传文件夹
obsutil cp folder_url obs://bucket[/key] -r arcDir=xxx] dryRun] link] f] flat] u] vlength] vmd5] j=1] p=1] threshold=52428800] acl=xxx] sc=xxx]
[-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2]
[-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 多文件/文件夹上传
obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 r] arcDir=xxx] dryRun] link] f] u] vlength] vmd5] flat] j=1] p=1] threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] exclude=*.xxx]timeRange=time1-time2] at] mf] o=xxx] cpd=xxx] config=xxx] e=xxx] i=xxx] [-k=xxx] [-t=xxx]
● Linux/Mac操作系统 – 上传文件
./obsutil cp file_url obs://bucket[/key] arcDir=xxx] dryRun] link] u] vlength] vmd5] p=1] threshold=5248800] acl=xxx] sc=xxx] meta=aaa:bbb#ccc:ddd] ps=auto] o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 上传文件夹
./obsutil cp folder_url obs://bucket[/key] -r arcDir=xxx] dryRun] link] f] flat] u] vlength] vmd5] j=1] p=1] threshold=52428800] acl=xxx] sc=xxx]
[-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2]
[-at] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 多文件/文件夹上传
./obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 r] arcDir=xxx] dryRun] link] f] u] vlength] vmd5] flat] j=1] p=1] threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] exclude=*.xxx]timeRange=time1-time2] mf] o=xxx] cpd=xxx] config=xxx] e=xxx] i=xxx] k=xxx] [-t=xxx]
运行示例
● 以Windows操作系统为例,运行obsutil cp d:\temp\test.txt obs://bucket-test/key,将D盘temp路径下名为test.txt的文件上传至bucket-test桶中,并且重 命名为key。
obsutil cp d:\temp\test.txt obs://bucket-test/key Parallel: 3 Jobs: 3
Threshold: 524288000 PartSize: 5242880 Exclude: Include:
VerifyLength: false VerifyMd5: false CheckpointDir: xxxx
[====================================================] 100.00% 1.68 MB/s 5s Upload successfully, 8.46MB, d:\temp\test.txt --> obs://bucket-test/key
● 以Windows操作系统为例,运行obsutil cp d:\temp obs://bucket-test -f -r,递 归上传D盘temp文件夹中的所有文件和子文件夹至bucket-test桶的temp文件夹 中。obsutil cp d:\temp obs://bucket-test -f -r
Parallel: 3 Jobs: 3
Threshold: 524288000 PartSize: 5242880 Exclude: Include:
VerifyLength: false VerifyMd5: false CheckpointDir: xxxx
OutputDir: xxxx
[========================================================] 100.00% 2.02 KB/s 0s Succeed count is: 5 Failed count is: 0
● 更多运行示例,请参见上传示例。
参数说明
参数 约束 描述
file_url 多文件/文件 夹上传时可选 上传文件时必 选
本地文件路径。
说明
● 多文件/文件夹上传时,禁止路径嵌套,例如:/a/b/c 和/a/b/。
● 多文件/文件夹上传时,必须配置msm=1,此时可以用英 文逗号分隔多个文件,例如:file_url1,file_url2。
● 多文件/文件夹上传时,文件和文件夹可以同时存在,例 如:file_url1,folder_url1,file_url2,folder_url2。
folder_url 多文件/文件 夹上传时可选 上传文件夹时 必选
本地文件夹路径。
说明
● 上传文件夹时,若未设置flat选项,则直接上传整个文件 夹;若设置了flat选项,则上传文件夹下的所有内容。
● 多文件/文件夹上传时,禁止路径嵌套,例如:/a/b/c 和/a/b/。
● 多文件/文件夹上传时,必须配置msm=1,此时可以用逗 号分隔多个文件夹,例如:folder_url1,folder_url2。
● 多文件/文件夹上传时,文件和文件夹可以同时存在,例 如:file_url1,folder_url1,file_url2,folder_url2。
filelist_url 多文件/文件
夹上传时可选 包含待上传文件/文件夹列表的文件,必须配置 msm=2。
说明
● 该文件为普通文本文件(如.txt文件、.csv文件),文件 中的每行代表一个待上传的文件/文件夹,例如:
file_url1 file_url2 folder_url1 folder_url2
● 文件中待上传的文件/文件夹禁止路径嵌套,例 如:/a/b/c和/a/b/。
bucket 必选 桶名。
参数 约束 描述
arcDir 附加参数,可 选
上传文件成功后的归档路径,上传成功后的文件会移 动到该路径下。
dryRun 附加参数,可
选 测试模式运行,不执行实际的上传操作。 产生“The system cannot find the file specified”的上 传失败异常,而macOS/Linux操作系统会产生“No such file or directory”的上传失败异常。
● 文件夹软链接不能形成环,否则上传会以panic的形式退
vlength 附加参数,可 选
上传完成后,验证桶中对象的大小是否与本地文件大 小一致。
参数 约束 描述
● MD5值校验通过后,会将该值设置为对象元数据x-obs-md5chksum,用于下载或复制时校验MD5。
p 附加参数,可
选
每个分段上传任务的最大并发数,默认为配置文件中 的defaultParallels。
threshold 附加参数,可 选
● 支持带容量单位配置,例如,配置1MB代表1048576字 节。
acl 附加参数,可
选 上传文件时可指定的预定义访问策略。支持的值:
● private
● public-read
● public-read-write
● bucket-owner-full-control 说明
● standard:标准存储,访问时延低、吞吐量高,适 用于有大量热点文件(平均一个月多次)或小文件
(小于1MB)。
● warm:低频访问存储,可用性略低于standard,
适用于不频繁访问(平均一年少于12次)但在需要
参数 约束 描述
● 支持带容量单位配置,例如,配置1MB代表1048576字 节。
● 支持配置为auto,此时obsutil会根据源文件大小自动设 置每个分段任务的段大小。
cpd 附加参数,可
选 生成断点记录文件的文件夹,默认为运行obsutil命令 的用户目录的子文件夹.obsutil_checkpoint。
● 如果msm=1则代表上传的URL是一组文件/文件夹列表
(以英文逗号分隔)。
● 如果该值为msm=2则代表上传的URL是一个包含文件/文 件夹列表的文件。
● 如果文件/文件夹名本身包含英文逗号,请不要使用 msm=1的模式。
● 如果没有设置r参数,则列表中的文件夹不会被上传。
参数 约束 描述 exclude 附加参数,多
文件/文件夹
● 建议使用引号传递该匹配模式(Linux/Mac操作系统使用 单引号,Windows操作系统使用双引号)防止特殊符号 被操作系统转义,导致不可预期的结果。
● 该匹配模式作用于文件全路径(含文件名和文件目 录)。
● 该匹配模式仅对文件夹中的文件生效。
● 支持指定多个exclude参数,如 exclude=*.xxx -exclude=*.xxx
include 附加参数,多 文件/文件夹
● 首先执行exclude的匹配规则,如果待上传的文件名不匹 配exclude,则判断待上传的文件名是否匹配该参数,如 果匹配则上传该文件,否则跳过该文件的上传。
须知
● 建议使用引号传递该匹配模式(Linux/Mac操作系统使用 单引号,Windows操作系统使用双引号)防止特殊符号 被操作系统转义,导致不可预期的结果。
● 该匹配模式作用于文件全路径(含文件名和文件目 录)。
● 该匹配模式仅对文件夹中的文件生效。
● 支持指定多个include参数,如 include=*.xxx -include=*.xxx
● 需配合timeRange使用 disableDir
Object 附加参数,多 文件夹上传时
参数 约束 描述
● 使用“time1-time2”,代表匹配的时间段,其中time1 必须小于等于time2,格式为yyyyMMddHHmmss。
● 时间格式支持自动补全,例如yyyyMMdd等价于 yyyyMMdd000000,yyyyMM等价于
yyyyMM01000000。
● 使用“*-time2”,代表匹配最后修改时间在time2之前 的所有文件,使用“time1-*”,代表匹配最后修改时间 time1之后的所有文件。
须知该匹配模式表示的时间是UTC时间。
mf 附加参数,可
选 设置名称匹配模式(include、exclude)和时间匹配 模式(timeRange)对文件夹也生效。
● 结果清单文件命名规则:cp_{succeed | failed | warning}_report_时间_TaskId.txt。
config 附加参数,可 选
选 指定用户的securitytoken。
响应结果
字段名 描述
Parallel 请求中的-p参数。
Jobs 请求中的-j参数。
Threshold 请求中的-threshold参数。
PartSize 请求中的-ps参数。
Exclude 请求中的-exclude参数。
Include 请求中的-include参数。
TimeRange 请求中的-timeRange参数。
VerifyLength 请求中的-vlength参数。
VerifyMd5 请求中的-vmd5参数。
CheckpointDir 请求中的-cpd参数。
OutputDir 请求中的-o参数。
ArcDir 请求中的-arcDir参数。
Succeed count 成功的任务数。
Failed count 失败的任务数。
Skip count 增量上传/下载/复制、同步上传/下载/复制跳过的任务数。
说明
跳过的任务数也会记录到成功的任务数中。
Warning count 执行完成但包含警告的任务数。
说明
● 产生警告的任务可能是失败的也可能是成功的,需要根据成功或失败 的结果清单进一步判断。
● 产生警告的任务数与成功/失败任务数是相互独立的,总任务数仍是成 功的任务数+失败的任务数。
Succeed bytes 上传/下载成功的字节数。
max cost 所有任务中的最长耗时,单位:毫秒。
min cost 所有任务中的最短耗时,单位:毫秒。
average cost 平均耗时,单位:毫秒。
average tps 平均每秒的任务完成个数。
Task id 每次运行的唯一标识号,用于查找批量任务生成的结果清单文 件。