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

命令格式

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

通用选项

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

  • -c,--config-file

    ossutil工具的配置文件路径,ossutil启动时从配置文件读取配置,在config命令中,ossutil将配置写入该文件。当您需要管理多个账号下的存储空间(Bucket)时,可以生成多个配置文件,其中一个作为默认配置文件。当您管理其他账户下的Bucket时,通过-c指定正确的配置文件即可。

  • -e,--endpoint

    用于指定Bucket的Endpoint,当您需要管理多个地域的Bucket时,可以通过-e选项指定地域。

  • -i,--access-key-id

    用于指定访问OSS使用的AccessKeyID,当您需要管理多个账号下的Bucket时,可通过-i选项指定正确的AccessKeyID。

  • -k,--access-key-secret

    用于指定访问OSS使用的AccessKeySecret,当您需要管理多个账号下的Bucket时,可通过-k选项指定正确的AccessKeySecret。

  • --loglevel
    在当前工作目录下输出ossutil日志文件ossutil.log。该值默认为空,表示不输出日志文件,可选值为info/debug。
    • 默认级别:该参数默认为空,表示不输出日志文件。
    • info级别:用于打印ossutil操作记录。
      ./ossutil [command] --loglevel=info
    • debug级别:可以输出http流水日志以及原始签名串信息,方便定位问题。
      ./ossutil [command] --loglevel=debug
  • --proxy-host--proxy-user--proxy-pwd

    当您处于代理上网的环境中,需使用这三个选项指定代理服务器信息,ossutil将使用您指定的信息去通过代理服务器访问OSS。

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

选项列表

ossutil所有选项列表如下:
选项名称 描述
-s, --short-format 显示精简格式,如果未指定该选项,默认显示长格式。
--bigfile-threshold 开启大文件断点续传的文件大小阈值,单位为Byte,默认值:100MByte,取值范围: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。
-v, --version 显示ossutil的版本并退出。
-u, --update 更新操作。
--origin 表示http请求头origin字段的值。
--upmode 表示上传模式,缺省值为normal,取值为:normal、append、multipart,分别表示正常上传、追加上传、分块上传,主要在probe命令中使用。
--sse-algorithm 表示服务端加密算法,可选值:KMS、AES256。
--include 包含对象匹配模式,例如*.jpg
--exclude 不包含对象匹配模式,例如*.txt
-r, --recursive 递归进行操作。对于支持该选项的命令,当指定该选项时,命令会对Bucket下所有符合条件的Object进行操作,否则只对url中指定的单个Object进行操作。
--addr 表示一个网络地址,通常为域名,主要在probe命令中使用。
--kms-masterkey-id 表示KMS密钥托管服务中的主密钥ID。
--version-id 表示Object的版本ID。
--version-id-marker 表示列举Object所有版本的version id marker。
-m, --multipart 指定操作的对象为Bucket中未完成的Multipart事件,而非默认情况下的Object。
-d, --directory 返回当前目录下的文件和子目录,而非递归显示所有子目录下的所有Object。
--payer 请求的支付方式,如果为请求者付费模式,可以将该值设置成requester。
--maxupspeed 最大上传速度,单位:KB/s,缺省值为0(不受限制)。
--retry-times 当错误发生时的重试次数,默认值:10,取值范围:1~500。
-c, --config-file ossutil工具的配置文件路径,ossutil启动时从配置文件读取配置,在config命令中,ossutil将配置写入该文件。
--download 表示从OSS下载,主要在probe命令中使用。
-j, --jobs 多文件操作时的并发任务数,默认值:3,取值范围:1~10000。
-a, --all-type 指定操作的对象为Bucket中的Object和未完成的Multipart事件。
--disable-empty-referer 表示不允许referer字段为空,主要在referer命令中使用。
--method 表示http的请求类型,取值为PUT、GET、DELETE等。
--output-dir 指定输出文件所在的目录,输出文件目前包含:cp命令批量拷贝文件出错时所产生的report文件(关于report文件更多信息,请参考cp命令帮助)。默认值为:当前目录下的ossutil_output目录。
--meta 设置Object的meta为[header:value#header:value...],如:Cache-Control:no-cache#Content-Encoding:gzip
--object 表示OSS中对象的名称,主要在命令probe中使用。
-e, --endpoint ossutil工具的基本endpoint配置,该选项值会覆盖配置文件中的相应设置。各地域Endpoint详情请参见访问域名和数据中心
--end-time 值为Linux或Unix系统下面的时间戳,如果输入这个选项,最后更新时间晚于该时间的Object会被忽略。
--limited-num 返回结果的最大个数。
-L, --language 设置ossutil工具的语言,默认值:CH,可选值:CH、EN,若设置成“CH”,请确保您的系统编码为UTF-8。
--delete 删除操作。
-b, --bucket 对Bucket进行操作,该选项用于确认操作作用于Bucket。
--disable-crc64 该选项关闭crc64,默认情况下,ossutil进行数据传输都打开crc64校验。
--upload 表示上传到OSS,主要在probe命令中使用。
--part-size 分片大小,单位为Byte,默认情况下ossutil根据文件大小自行计算合适的分片大小值。如果有特殊需求或者需要性能调优,可以设置该值,取值范围:1~9223372036854775807。
--timeout 签名url的超时时间,单位为秒,默认值为:60,取值范围:0~9223372036854775807。
-k, --access-key-secret 访问OSS使用的AccessKeySecret,该选项值会覆盖配置文件中的相应设置。
--checkpoint-dir checkpoint目录的路径,默认值为:.ossutil_checkpoint,断点续传时,操作失败ossutil会自动创建该目录,并在该目录下记录checkpoint信息,操作成功会删除该目录。如果指定了该选项,请确保所指定的目录可以被删除。
--url 表示一个url地址,主要在probe命令中使用。
--marker 列举Bucket或Bucket清单时的marker;列举Object或Multipart Upload时的key marker。
-f, --force 强制操作,不进行询问提示。
--snapshot-path 批量上传/下载时,若指定--snapshot-path选项,ossutil在指定的目录下生成文件上传/下载的快照信息,在下一次指定该选项上传/下载时,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会被忽略。
--loglevel 设置日志级别,默认为空,表示不输出日志文件,可选值为:info、debug。
  • info:输出提示信息日志。
  • debug:输出详细信息日志(包括http请求和响应信息)。
--storage-class 设置对象的存储方式,默认值:Standard,可选值为:Standard、IA、Archive。
-i, --access-key-id 访问OSS使用的AccessKeyID,该选项值会覆盖配置文件中的相应设置。
-t, --sts-token 访问OSS使用的STSToken,该选项值会覆盖配置文件中的相应设置。非必配项,若采用STS临时授权方式访问OSS需要配置该项,否则置空即可。stsToken生成方式请参见临时访问凭证
--parallel 单文件内部操作的并发任务数,取值范围:1~10000, 默认将由ossutil根据操作类型和文件大小自行决定。
--partition-download 分区下载使用,一个ossutil命令下载一个分区,其值格式为“分区编号:总分区数“,例如1:5,表示当前ossutil下载分区1,总共有5个分区。分区号从1开始编号,Object的分区规则由工具内部算法决定。利用该选项,待下载的Object分成多个区,可以由多个ossutil命令一起下载完成,每个ossutil命令下载各自的分区。多个ossutil命令可以并行在不同机器上执行。
--bucketname 表示Bucket的名称,主要在probe命令中使用。
--encoding-type 输入或者输出的Object名或文件名的编码方式,目前只支持url encode,即指定该选项时,取值为url,如果不指定该选项,则表示Object名或文件名未经过编码。Bucket名不支持url encode。
注意 如果指定了该选项,则形如oss://bucket/object的cloud_url,输入形式为oss://bucket/url_encode(object),其中oss://bucket/字符串不需要编码。
--origin http请求头Origin字段的值,表示请求来源域,用来标识跨域请求。
--acr-method http请求头Access-Control-Request-Method的值,可选值为:GET、PUT、POST、DELETE、HEAD。
--acr-headers http请求头Access-Control-Request-Headers的值,表示在实际请求中会用到的除简单头部之外的头。如果有多个取值,各个header用英文的逗号(,)分隔,再加上双引号。例如--acr-headers "header1,header2,header3"
--upload-id-marker 列举Multipart Uploads时的uploadID marker。
-h, --help 显示帮助信息。
--proxy-host 网络代理服务器的url地址,支持http、https、socks5。例如http://120.79.**.**:3128、 socks5://120.79.**.**:1080。
--proxy-user 网络代理服务器的用户名,默认为空。
--proxy-pwd 网络代理服务器的密码,默认为空。
--trafic-limit 指定http的访问速度。单位:bit/s,缺省值为0(不受限制),取值范围为819200~838860800,即100KB/s~100MB/s。用于sign命令。
--local-host 填写工具的本地IP地址。当您的电脑有多个IP地址的时候,您可以指定此项,ossutil将通过指定IP访问OSS。用于cp命令。
--enable-symlink-dir 表示上传链接子目录,默认不上传。probe命令可以探测是否存在死循环链接文件或者目录。
--only-current-dir 表示只上传、下载、拷贝当前目录下的文件,忽略掉当前目录下的子目录。
--disable-dir-object 表示上传文件时不为目录生成OSS对象。
--probe-item 表示probe命令的探测项目,可选值为:
  • upload-speed:探测上传带宽。
  • download-speed:探测下载带宽。
  • cycle-symlink:探测本地文件目录中是否存在死循环链接文件或者目录。
--redundancy-type 设置Bucket的数据冗余类型,可选值为LRS(本地冗余存储)和ZRS(同城冗余存储),默认为LRS
--disable-encode-slash 表示不对url path中的正斜线(/)进行编码。
--disable-all-symlink 上传时忽略所有的符号链接子文件以及符号链接子目录。
--tagging 上传或复制文件时设置文件的对象标签,格式为"abc=1&bcd=2&……"
--disable-ignore-error 批量操作时不忽略错误。