查看选项

您可以通过-h命令查看ossutil支持的所有选项。

说明

从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考

命令格式

ossutil -h

若要查看某个命令支持哪些选项,请使用ossutil help [command]命令来查看,例如ossutil help cp

通用选项

以下为ossutil的通用选项,这些选项可以在大部分命令中使用:

选项

说明

-c,--config-file

ossutil工具的配置文件路径,ossutil启动时将从配置文件读取配置。当您需要管理多个账号下的Bucket时,可以生成多个配置文件,并将其中一个指定为默认配置文件。当您需要管理其他账户下的Bucket时,请通过-c指定正确的配置文件。

-e,--endpoint

指定Bucket对应的Endpoint,当您需要管理多个地域的Bucket时,可以通过此选项指定多个Endpoint。各地域Endpoint详情请参见访问域名和数据中心

-i,--access-key-id

指定访问OSS使用的AccessKey ID,当您需要管理多个账号下的Bucket时,可通过此选项指定对应的AccessKey ID。

-k,--access-key-secret

指定访问OSS使用的AccessKey Secret,当您需要管理多个账号下的Bucket时,可通过此选项指定对应的AccessKey Secret。

-p,--password

指定访问OSS使用的AccessKey Secret,输入该选项时会提示用户从键盘输入AccessKey Secret,ossutil工具以从键盘读取的AccessKey Secret为准,并忽略通过其他方式配置的AccessKey Secret。

--loglevel

在当前工作目录下输出ossutil日志文件ossutil.log。该选项默认为空,表示不输出日志文件。

取值:

  • info:用于打印ossutil操作记录。

    ossutil [command] --loglevel=info
  • debug:可以输出HTTP流水日志以及原始签名串信息,方便定位问题。

    ossutil [command] --loglevel=debug

--proxy-host--proxy-user--proxy-pwd

在代理上网环境下,需指定如下三个选项:

  • --proxy-host:网络代理服务器的URL地址,支持HTTPHTTPS以及SOCKS5

  • --proxy-user:网络代理服务器的用户名,默认为空。

  • --proxy-pwd:网络代理服务器的密码,默认为空。

通过这三个选项指定代理服务器信息后,ossutil将使用您指定的信息并通过代理服务器访问OSS。

ossutil ls oss://bucket1 --proxy-host http://47.88.**.**:3128 --proxy-user test --proxy-pwd test

--mode

凭证类型。取值如下:

  • AK:使用AccessKey ID和AccessKey Secret的方式访问。

  • StsToken:使用STS Token的方式访问。

  • RamRoleArn:使用RAM用户的AssumeRole的方式访问。

  • EcsRamRole:在ECS实例上通过EcsRamRole实现免密验证。

如果不添加此选项,默认按照原有的鉴权逻辑处理。

--ecs-role-name

EcsRamRole鉴权模式下的角色名称。

--token-timeout

RamRoleArn鉴权模式下AssumeRole参数中指定的临时访问凭证Token的有效时间。单位为秒,默认值为3600。

--ram-role-arn

RamRoleArn鉴权模式下的RAM角色ARN。

--role-session-name

RamRoleArn鉴权模式下的会话名称。

--read-timeout

客户端读超时的时间,单位为秒,默认值为1200。

--connect-timeout

客户端连接超时的时间,单位为秒,默认值为120。

--sts-region

STS服务的接入地域,格式为cn-hangzhou。STS服务支持的所有接入地域的详情,请参见接入地址

如果不添加此选项,RamRoleArn鉴权模式下指定的sts endpoint为sts.aliyuncs.com

--skip-verify-cert

不校验服务端的数字证书。

--ua

此选项用于指定HTTP Header中的User Agent值。指定后,该值将自动添加到ossutil工具设置的User Agent值的末尾。如果您希望在日志中查看完整的User Agent值,请结合使用--loglevel debug选项。

--sign-version

签名版本,取值为v4。仅OSS ON云盒场景中需要使用该选项。

--region

云盒Bucket所在地域。仅OSS ON云盒场景中需要使用该选项。

--cloudbox-id

云盒ID。仅OSS ON云盒场景中需要使用该选项。

其他选项

除以上通用选项外,ossutil各命令包含的其他选项如下:

选项名称

描述

-s,--short-format

显示精简格式,如果未指定该选项,默认显示长格式。

--bigfile-threshold

开启大文件断点续传的文件大小阈值,单位为Byte,默认值为100 MByte,取值范围为0~9223372036854775807。

--acl

配置读写权限ACL。

--range

下载文件时,可以指定文件内容的字节范围进行下载,字节从0开始编号。

  • 可以指定一个区间,例如3-9表示从第3个字节到第9个字节(包含第3和第9字节)。

  • 可以指定从什么字段开始,例如3-表示从第3个字节开始到文件结尾(包含第3个字节)。

  • 可以指定从什么字段结束,例如-9表示从0字节到第9个字节(包含第9个字节)。

--all-versions

表示Object所有版本。

--type

数据校验的方式。取值如下:

  • crc64(默认值):数据CRC64校验。

  • md5:数据MD5校验。

-v,--version

显示ossutil的版本并退出。

-u,--update

更新操作。

--origin

HTTP请求头origin字段的值。

--upmode

probe命令中使用的上传模式。取值如下:

  • normal(默认值):简单上传。

  • append:追加上传。

  • multipart:分片上传。

--sse-algorithm

Bucket的加密方式。取值如下:

  • KMS:使用KMS托管密钥进行加解密,即SSE-KMS。

  • AES256:使用OSS完全托管密钥进行加解密,即SSE-OSS。

--include

列举符合指定条件的Object。例如*.jpg表示列举所有格式为JPG的文件。

更多信息,请参见include和exclude选项

--exclude

列举不符合指定条件的Object。例如*.txt表示列举所有格式不为TXT的文件。

更多信息,请参见include和exclude选项

-r,--recursive

递归操作。当指定该选项时,ossutil会对Bucket下所有符合条件的Object进行操作,否则只对URL中指定的单个Object进行操作。

--addr

增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。

默认值:www.aliyun.com

--kms-masterkey-id

KMS密钥托管服务中的主密钥ID。

--version-id

Object的版本ID。

--version-id-marker

列举Version ID字母排序在marker之后的Object版本。仅当Bucket开启版本控制后可用。

-m,--multipart

指定操作的对象为Bucket中未完成的Multipart事件。

-d,--directory

仅返回当前目录下的文件和子目录。

--payer

请求的支付方式,如果为请求者付费模式,可以将该值设置为requester

--maxupspeed

最大上传速度,单位为KB/s,默认值为0(不受限制)。

--maxdownspeed

最大下载速度,单位为KB/s,默认值为0(不受限制)。

--retry-times

发生错误后的重试次数。默认值为10,取值范围为1~500。

说明

发生错误后立即重试。

--download

通过使用文件URL下载目标文件到本地的方式探测本地和目标Bucket之间的网络状态。

-j,--jobs

多文件操作时的并发任务数,默认值为3,取值范围为1~10000。

-a,--all-type

指定操作的对象为Bucket中的Object和未完成的Multipart事件。

--disable-empty-referer

表示不允许referer字段为空。

--method

表示HTTP的请求类型,取值为PUT、GET、DELETE等。

--output-dir

指定输出文件所在的目录,输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件。

默认值:当前目录下的ossutil_output目录。

--meta

设置Object的meta,格式为[header:value#header:value...],如:Cache-Control:no-cache#Content-Encoding:gzip

--object

用于probe命令中指定文件名称。

--end-time

Linux或Unix系统下的时间戳。如果使用该选项,则最后更新时间晚于通过此选项指定时间的Object会被忽略。

--limited-num

返回结果的最大个数。

-L,--language

设置ossutil工具的语言。取值如下:

  • CH(默认值):中文。设置为CH时,请确保您的系统编码方式为UTF-8。

  • EN:英文。

--delete

删除Bucket、Object或碎片操作。

-b,--bucket

仅在删除Bucket时使用此选项。

--disable-crc64

关闭CRC64校验。默认情况下,ossutil进行数据传输会打开CRC64校验。

--upload

通过将本地文件上传到目标Bucket的方式来探测本地和目标Bucket之间的网络状态。

--part-size

分片大小,单位为字节,默认情况下ossutil根据文件大小自行计算合适的分片大小值。如果需要性能调优时或者其他特殊需求时,可以设置该值,取值范围为1~9223372036854775807。

--timeout

签名URL的超时时间,单位为秒,默认值为60,取值范围为0~9223372036854775807。

--checkpoint-dir

指定断点续传记录信息所在的目录。断点续传操作失败时,ossutil会自动创建名为.ossutil_checkpoint的目录,并在该目录下记录checkpoint信息,断点续传成功后会删除该目录。如果通过该选项指定了目录,请确保指定的目录可以被删除。

--url

文件URL。

--marker

列举名称字母排序在marker之后的Bucket、Object或者Part。

-f,--force

强制操作,不进行询问提示。

--snapshot-path

指定保存上传、下载文件时的快照信息所在的目录。在下一次上传或下载文件时,ossutil会读取指定路径下的快照信息进行增量上传或下载。

  • --snapshot-path选项用于在某些场景下加速增量上传、下载多个适用于文件(拷贝操作不支持该选项)。例如文件数量较多且两次上传期间没有其他用户更改OSS上对应的Object。

  • --snapshot-path选项通过在本地记录成功上传、下载的文件的本地lastModifiedTime,从而在下次上传、下载时通过比较lastModifiedTime来决定是否跳过相同文件,所以在使用该选项时,请确保两次上传、下载期间没有其他用户更改了OSS上的对应Object。当不满足该场景时,如果想要增量上传、下载批量文件,请使用--update选项。

  • ossutil不会主动删除snapshot-path下的快照信息,为了避免快照信息过多,当您确定快照信息无用时,请自行清理snapshot-path。

  • 由于读写snapshot信息需要额外开销,当要批量上传、下载的文件数比较少或网络状况比较好或有其他用户操作相同Object时,并不建议使用该选项。可以使用--update选项来增量上传/下载。

  • --update选项和--snapshot-path选项可以同时使用,ossutil会优先根据snapshot-path信息判断是否跳过此文件,如果不满足跳过条件,再根据--update判断是否跳过此文件。

--start-time

值为Linux或Unix系统下面的时间戳,如果输入这个选项,最后更新时间早于该时间的Object会被忽略。

--storage-class

设置Object的存储方式。取值如下:

  • Standard(默认值):适用于频繁的数据访问。

  • IA:适用于较低访问频率(平均每月访问频率1到2次)的业务场景,有最低存储时间(30天)和最小计量单位(64 KB)要求。支持数据实时访问,访问数据时会产生数据取回费用。

  • Archive:适用于数据长期保存的业务场景,有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。

  • ColdArchive:适用于需要超长时间存放的极冷数据,有最低存储时间(180天)和最小计量单位(64 KB)要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。

-t,--sts-token

访问OSS使用的STSToken,仅在使用STS临时授权方式访问OSS时需要配置此项。该选项值会覆盖配置文件中的相应设置。stsToken生成方式请参见临时访问凭证

--parallel

单文件内部操作的并发任务数,取值范围为1~10000, 默认由ossutil根据操作类型和文件大小自行决定。

--partition-download

用于分区下载。该选项取值格式为分区编号:总分区数。例如1:5,表示当前ossutil下载分区1,总共有5个分区。分区号从1开始编号,Object的分区规则由工具内部算法决定。通过该选项将待下载的Object分成多个分区,并由多个ossutil命令并行下载,各个ossutil命令下载各自的分区。

--bucketname

Bucket名称。

--encoding-type

oss://bucket_name后面的key进行编码,取值为url。如果不指定该选项,则表示key未经过编码。

--origin

HTTP请求头Origin字段的值,表示请求来源域,用来标识跨域请求。

--acr-method

HTTP请求头Access-Control-Request-Method的值,取值为GET、PUT、POST、DELETE、HEAD。

--acr-headers

HTTP请求头Access-Control-Request-Headers的值,表示在实际请求中除简单头部以外需要用到的Header。如果有多个Header,各个Header之间用英文的逗号(,)分隔,再加上双引号。例如--acr-headers "header1,header2,header3"

--upload-id-marker

列举Upload ID字母排序在Marker之后的Part。

-h,--help

显示帮助信息。

--trafic-limit

sign命令中用于指定HTTP的访问速度。单位为bit/s。

默认值:0,表示不限速。

取值范围:819200~838860800,即100 KB/s~100 MB/s。

--local-host

cp命令中用于指定ossutil工具的本地IP地址。指定该选项后,ossutil将通过指定IP地址访问OSS。

--enable-symlink-dir

上传链接子目录。默认不上传。probe命令可以探测是否存在死循环链接文件或者目录。

--only-current-dir

仅上传、下载、拷贝当前目录下的文件,忽略子目录及子目录下的文件。

--disable-dir-object

不为上传的目录生成Object,但您仍可以在OSS控制台看到对应的目录结构。当您删除目录内的文件时,该目录也会消失。

--probe-item

表示probe命令的探测项目,取值如下:

  • upload-speed:探测上传带宽。

  • download-speed:探测下载带宽。

  • cycle-symlink:探测本地文件目录中是否存在死循环链接文件或者目录。

--redundancy-type

Bucket的数据容灾类型。取值如下:

  • LRS(默认值):本地冗余LRS将您的数据冗余存储在同一个可用区的不同存储设备上,可支持两个存储设备并发损坏时,仍维持数据不丢失,可正常访问。

  • ZRS:同城冗余ZRS采用多可用区(AZ)内的数据冗余存储机制,将用户的数据冗余存储在同一地域(Region)的多个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。

--disable-encode-slash

表示不对URL中的正斜线(/)进行编码。

--disable-all-symlink

上传时忽略所有的符号链接子文件以及符号链接子目录。

--tagging

上传或复制文件时设置文件的对象标签,格式为"abc=1&bcd=2&……"

--disable-ignore-error

遇到错误,抛出异常直接终止。批量操作时不忽略错误。

--block-size

定义输出结果中指定Bucket或目录下包含的Object大小,取值为KB、MB、GB或TB。不添加此选项时,默认以Byte为单位统计Object的大小。

重要

此选项仅在ossutil1.7.3及以上版本可用。

include和exclude选项

多选项时从左到右运用规则

一条规则中可以包含多个include(包含)和exclude(排除)条件,且每个文件从左到右逐一运用每个规则,直至最后才能最终确定匹配的结果。例如指定生效的文件夹中包含名为test.txt的文件,匹配不同的规则产生的结果如下。

  • 规则一:--include "*test*" --exclude "*.txt" ,当规则匹配到--include "*test*",匹配的结果为test.txt符合条件;当规则继续匹配到--exclude "*.txt"时,因test.txt文件名包含.txt,所以被排除。则匹配的最终结果为test.txt不符合条件。

  • 规则二:--exclude "*.txt" --include "*test*",当规则匹配到--exclude "*.txt",匹配的结果为test.txt不符合条件;当规则继续匹配到--include "*test*",因test.txt文件名包含test,所以符合条件。则匹配的最终结果为test.txt符合条件。

  • 规则三:--include "*test*" --exclude "*.txt" --include "te?t.txt" ,当规则匹配到--include "*test*",匹配的结果为test.txt符合条件;当规则继续匹配到--exclude "*.txt"时,因test.txt文件名包含.txt,所以被排除;当规则最后匹配到--include "te?t.txt"时,因test.txt符合条件,所以被包含。则匹配的最终结果为test.txt符合条件。

选项支持的格式

  • 通配符星号(*):匹配所有字符。例如:*.txt表示匹配所有TXT格式的文件。

  • 通配符问号(?):匹配单个字符。例如:abc?.jpg表示匹配所有文件名为abc+任意单个字符的JPG格式的文件,如abc1.jpg

  • [sequence]:匹配序列的任意字符,例如:abc[1-5].jpg表示匹配文件名为abc1.jpg~abc5.jpg的文件。

  • [!sequence]:匹配序列外的任意字符,例如:abc[!0-7].jpg表示匹配文件名不为abc0.jpg~abc7.jpg的文件。

选项使用限制

设定条件时不支持目录格式,例如ossutil cp oss://examplebucket/destfolder/ localfolder/ --include dir/,否则报错--include or --exclude does not support format containing dir info