ossutil工具旨在为您提供一个以命令行方式管理OSS数据的途径。当前版本未提供完整的Bucket和Multipart管理功能,相关功能会在后续版本中开发。如果您需要使用上述功能,建议先使用osscmd命令行工具。

工具下载

  • 当前版本:1.4.2
  • 运行环境
    • Windows/Linux/Mac
    • 支持架构:x86 (32bit, 64bit)
  • binary下载
  • 安装使用

    根据您的操作系统选择相应的binary或者压缩包下载后,运行相应的binary(如果binary为不可执行文件,请给binary增加可执行权限:chmod 755 ossutil),即:

    • linux系统下:./ossutil
    • windows系统下(以64位系统为例):
      • 解压压缩包,双击运行其中的bat文件,再键入:ossutil64.exe
      • 解压压缩包,cmd进入压缩包中binary所在的目录,键入:ossutil64.exe
    • mac系统下:./ossutilmac64

快速使用

  • 设置ossutil的语言

    在使用ossutil的命令时,可以使用-L选项设置语言,可选值为CH/EN,即:中文或英文。大小写不敏感。默认语言为CH(中文)。如果设置为CH(中文),需要确保您的系统为utf-8编码,否则可能会显示乱码。

    如:

    ./ossutil help ls显示ls默认语言的帮助

    ./ossutil help ls -L ch 显示ls的中文帮助

    ./ossutil help ls -L en 显示ls的英文帮助

    ./ossutil config -L ch 运行ossutil config的交互式配置命令,提示语言为中文。

    ./ossutil config -L en 运行ossutil config的交互式配置命令,提示语言为英文。

    说明 ossutil输出的错误默认都为英文,不受上述选项影响。
  • 获取命令列表
    • ./ossutil
      $./ossutil
      用法: ossutil [command] [args...] [options...]
      请使用ossutil help command来显示command命令的帮助
      Commands:
        mb              cloud_url [options]
              创建Bucket
        ls              [cloud_url] [options]
              列举Buckets或者Objects
        rm              cloud_url [options]
              删除Bucket或Objects
        stat            cloud_url [options]
              显示bucket或者object的描述信息
        set-acl         cloud_url [acl] [options]
              设置bucket或者objects的acl
        set-meta        cloud_url [meta] [options]
              设置已上传的objects的元信息
        cp              src_url dest_url [options]
              上传,下载或拷贝Objects
        restore         cloud_url [options]
              恢复冷冻状态的Objects为可读状态
        create-symlink  cloud_url target_url [options]
              创建符号链接
        read-symlink    cloud_url [options]
              读取符号链接文件的描述信息
      Additional Commands:
        help            [command]
              获取命令的帮助文档
        config          [options]
              创建配置文件用以存储配置项
        hash            file_url [options]
              计算本地文件的crc64或md5
        update          [options]
              更新ossutil
    • ./ossutil help
      $./ossutil  -L en
      Usage: ossutil [command] [args...] [options...]
      Please use 'ossutil help command' to show help of command
      Commands:
        mb              cloud_url [options]
              Make Bucket
        ls              [cloud_url] [options]
              List Buckets or Objects
        rm              cloud_url [options]
              Remove Bucket or Objects
        stat            cloud_url [options]
              Display meta information of bucket or objects
        set-acl         cloud_url [acl] [options]
              Set acl on bucket or objects
        set-meta        cloud_url [meta] [options]
              set metadata on already uploaded objects
        cp              src_url dest_url [options]
              Upload, Download or Copy Objects
        restore         cloud_url [options]
              Restore Frozen State Object to Read Ready Status
        create-symlink  cloud_url target_url [options]
              Create symlink of object
        read-symlink    cloud_url [options]
              Display meta information of symlink object
      Additional Commands:
        help            [command]
              Get help about commands
        config          [options]
              Create configuration file to store credentials
        hash            file_url [options]
              Get crc64 or md5 of local file
        update          [options]
              Update ossutil
  • 查看某命令的帮助文档

    ./ossutil help cmd 强烈建议在使用某命令前先使用help来查阅帮助文档。

    ./ossutil  help config -L ch
    SYNOPSIS
        创建配置文件用以存储配置项
    SYNTAX
        ossutil config [-e endpoint] [-i id] [-k key] [-t token] [-L language] [--output-dir outdir] [-c file]
    DETAIL DESCRIPTION
        该命令创建配置文件,将用户设置的配置项信息存储进该配置文件,配置项用
        以访问OSS时提供访问信息(某命令是否需要配置项,参见其是否支持
        --config-file选项,具体可见该命令的帮助)。
        配置文件路径可由用户指定,默认为/home/admin/.ossutilconfig。如果配置
        文件存在,假设其为:a,ossutil会将文件a另存为:a.bak,然后重新创建文件a
        并写入配置,此时,如果a.bak存在,其会被文件a覆盖。
        注意:
        (1)如果指定的配置文件路径非默认路径,在使用命令时请将--config-file选
        项设置为你配置时指定的配置文件路径(如果不指定--config-file选项,则运
        行命令时默认会读取/home/admin/.ossutilconfig)。
        (2)某些配置可在使用命令时通过选项进行设置,如--endpoint,--access-key-id,
        等选项(具体请见每个命令的帮助),如果使用命令时指定了这些选项,并且同
        时配置文件中也配置了这些信息,则优先级为:选项 > 配置文件。
        (3)如果使用命令时指定了--endpoint、--access-key-id、--access-key-secret
        或--sts-token选项,则ossutil不强求配置文件一定要存在。
    用法:
        该命令有两种用法,交互式1)和非交互式2),推荐用法为交互式,因为交互
        式用法拥有更好的安全性。
        1) ossutil config [-c file]
            该用法提供一种交互式的方法来配置信息,ossutil交互式地询问用户如下
        信息:
            (1) config file
                配置文件路径,如果用户键入回车,ossutil会使用默认的配置文件:
            /home/admin/.ossutilconfig。
                如果用户自己指定了配置文件,在使用命令时需要将--config-file选项
            设置为用户设置的配置文件路径。哪些命令支持--config-file选项可由查看
            每个命令的帮助。
            (2) language
                当首次配置(配置文件不存在)时,ossutil会向用户询问语言设置,可
            选值为中文或者英文(CH/EN),如果键入回车,ossutil将根据用户输入的
            --language选项配置,如果此时用户也未输入--language选项,将配置成默认
            语言中文。
                如果配置文件已存在,ossutil会综合用户输入的language选项和配置文件
            中的语言信息,配置该项,而不会询问。
                ossutil在运行时会从配置文件中读取该language选项,如果该选项不存在
            或者非法,将采用默认语言:CH。
                注意:该配置项在此次config成功结束后才会生效,在执行config命令过
            程中语言显示不会受用户的选择影响。
            (3) endpoint, accessKeyID, accessKeySecret
                回车代表着跳过相应配置项的设置。注意:endpoint应该为一个二级域
            名(SLD),例如:oss.aliyuncs.com。
                以上选项一般为必选项。
            (4) stsToken
                如果用户需要使用临时token来访问oss,用户需要填入该项,否则请输入
            回车跳过该项配置。
            (5) outputDir
                该选项配置输出文件所在目录的路径。交互式模式时不提供该选项的配置,
            但配置文件中该项配置起效。
                outputDir的默认目录为:当前目录下的:ossutil_output,ossutil会在
            运行过程中将输出文件都生成到该文件夹下。输出文件目前包含:在cp命令中
            批量操作出错时,记录每个文件操作的错误信息的report文件。
                关于outputDir和report文件的更多信息请参见cp命令的帮助。
                注意:outputDir如果不存在,ossutil在输出文件时会自动创建该目录,
            如果outputDir存在且并非目录,将会报错。
            下述交互式Bucket-Endpoint和Bucket-Cname配置被取消,但配置文件中这两项
            配置仍然起效。
            (6) Bucket-Endpoint
                Bucket-Endpoint对每个指定的bucket单独配置endpoint,此配置会优先于
            配置文件中关于默认endpoint的配置。
                在该版本中,ossutil取消了交互式配置中,关于Bucket-Endpoint配对的配
            置,但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定
            endpoint,仍然可以在配置文件中进行配置。注意:此处的endpoint应该为一个
            二级域名(SLD),例如:oss.aliyuncs.com。
                如果配置了Bucket-Endpoint选项,当对某bucket进行操作时,ossutil会在
            该选项中寻找该bucket对应的endpoint,如果找到,该endpoint会覆盖基本配置
            中endpoint。但是运行命令时如果指定了--endpoint选项,--endpoint选项为最
            高优先级。
            (7) Bucket-Cname
                Bucket-Cname为每个指定的bucket单独配置CNAME域名(CDN加速域名),此
            配置会优先于配置文件中Bucket-Endpoint及endpoint的配置。
                在该版本中,ossutil取消了交互式配置中,关于Bucket-Cname配对的配置,
            但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定CNAME
            域名,仍然可以在配置文件中进行配置。
                如果配置了Bucket-Cname选项,当对某bucket进行操作时,ossutil会在该
            选项中寻找该bucket对应的CNAME域名,如果找到,则找到的CNAME域名会覆盖
            Bucket-Endpoint选项和基本配置中的endpoint。运行命令时如果指定了--endpoint
            选项,--endpoint选项为最高优先级。
            优先级:--endpoint > Bucket-Cname > Bucket-Endpoint > endpoint > 默认endpoint
        2) ossutil config options
            如果用户使用命令时输入了除--language和--config-file之外的任何选项,则
        该命令进入非交互式模式。所有的配置项应当使用选项指定。
    配置文件格式:
        [Credentials]
            language = CH
            endpoint = oss.aliyuncs.com
            accessKeyID = your_key_id
            accessKeySecret = your_key_secret
            stsToken = your_sts_token
            outputDir = your_output_dir
        [Bucket-Endpoint]
            bucket1 = endpoint1
            bucket2 = endpoint2
            ...
        [Bucket-Cname]
            bucket1 = cname1
            bucket2 = cname2
            ...
    SAMPLE
        ossutil config
        ossutil config -e oss-cn-hangzhou.aliyuncs.com -c ~/.myconfig
    OPTIONS
        -c, --config-file
            ossutil工具的配置文件路径,ossutil启动时从配置文件读取配置,在config命令中,ossutil将配置写入该文件。
        -e, --endpoint
            ossutil工具的基本endpoint配置(该选项值会覆盖配置文件中的相应设置),注意其必须为一个二级域名。
        -i, --access-key-id
            访问oss使用的AccessKeyID(该选项值会覆盖配置文件中的相应设置)。
        -k, --access-key-secret
            访问oss使用的AccessKeySecret(该选项值会覆盖配置文件中的相应设置)。
        -t, --sts-token
            访问oss使用的STSToken(该选项值会覆盖配置文件中的相应设置),非必须设置项。
        --output-dir=ossutil_output
            指定输出文件所在的目录,输出文件目前包含:cp命令批量拷贝文件出错时所产生的report文件(关于report文件更多信息,请参考cp命令帮助)。默认值为:当前目录下的ossutil_output目录。
        -L CH, --language=CH
            设置ossutil工具的语言,默认值:CH,取值范围:CH/EN,若设置成"CH",请确保您的系统编码为UTF-8。
  • 配置ossutil

    在使用访问oss的命令时,需要先配置访问AK,关于AK的更多信息见:RAM和STS介绍

    配置ossutil由两种方式:交互式和非交互式。

    • 交互式配置ossutil

      ./ossutil config

      $./ossutil config -L ch
      该命令创建将一个配置文件,在其中存储配置信息。
      请输入配置文件路径(默认为:/home/admin/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
    • 非交互式配置ossutil
      ./ossutil config -e oss.aliyuncs.com -i your_id -k your_key

    关于配置命令的更多帮助,请使用ossutil help config查看。