您可以通过-h命令查看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 不校验服务端的数字证书。

其他选项

除以上通用选项外,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的文件。
--exclude 列举不符合指定条件的Object。例如*.txt表示列举所有格式不为TXT的文件。
-r, --recursive 递归操作。当指定该选项时,ossutil会对Bucket下所有符合条件的Object进行操作,否则只对URL中指定的单个Object进行操作。
--addr 增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。

默认值:www.aliyun.com

--kms-masterkey-id KMS密钥托管服务中的主密钥ID。
--version-id Object的版本ID。
--version-id-marke 列举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)的3个可用区。可支持单个可用区(机房)整体故障时(如断电、火灾等),仍然能够保障数据的正常访问。
--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及以上版本可用。