ossutils2.x加密ak
ossutil是阿里云官方提供的用于管理对象存储OSS的命令行工具。2.0 版本是其一个重大的升级,在架构、性能和易用性上都进行了全面的重写和优化。
ossutil 2.0支持通过 ossutil config credential 命令 加密 ak/sk/token
概述
ossutil 2.0 是一个用 Go 语言编写的、高性能的阿里云 OSS 命令行管理工具。它旨在替代旧版的(Python编写的)ossutil,提供了更快的速度、更低的资源占用以及更现代化的命令行体验。
主要特点与优势
与旧版相比,2.0 版本具有以下显著优势:
极致的性能
- 并发操作: 在上传、下载、拷贝等操作中默认使用并发和分片操作,极大提升了大数据文件和高并发场景下的传输速度。
- Go 语言优势: 编译为本地代码,启动速度快,执行效率远高于旧版的 Python 解释器。
更低资源占用
- 由于 Go 语言的运行时效率,ossutil 2.0 在内存和 CPU 占用上通常比旧版更低,尤其是在处理大量小文件时。
简化的安装与部署
- 单一二进制文件: 整个工具就是一个可执行文件,无需安装 Python 环境或任何依赖库。下载后即可直接运行,部署极其方便。
- 跨平台支持: 提供 Windows、Linux、macOS 等多种操作系统和架构的预编译版本。
增强的易用性
- 更清晰的命令行语法: 命令结构更直观。
- 交互式配置: 使用
ossutil config命令可以引导式地完成配置,包括 Endpoint、AccessKey 等。 - 丰富的进度显示: 在传输文件时,会显示清晰的进度条、传输速度和预计剩余时间,用户体验更好。
更全面的功能覆盖
- 支持 OSS 几乎所有的核心功能,包括:
- 存储空间(Bucket)管理: 创建、列举、删除Bucket,设置权限、生命周期、日志、跨区域复制等。
- 对象(Object)管理: 上传、下载、删除、列举、拷贝文件,设置文件元信息等。
- 权限管理: 设置 Bucket 和 Object 的 ACL(读写权限)。
- 高阶功能: 支持镜像回源、Restore 归档文件、管理版本控制等。
- 支持 OSS 几乎所有的核心功能,包括:
基本使用
1. 下载与安装
- https://github.com/aliyun/ossutil/releases
- https://help.aliyun.com/zh/oss/developer-reference/ossutil-overview/
- https://gosspublic.alicdn.com/ossutil/v2/2.1.2/ossutil-2.1.2-linux-amd64.zip
选择对应您操作系统的二进制文件,下载后即可运行。
对于 Linux/macOS,通常需要赋予执行权限:
1 | chmod +x ossutil |
2. 配置认证信息
regions/endpoints
- https://help.aliyun.com/zh/oss/developer-reference/configure-ossutil
- https://help.aliyun.com/zh/oss/developer-reference/config
cn-hangzhou
oss-cn-hangzhou.aliyuncs.com # 外网
oss-cn-hangzhou-internal.aliyuncs.com # 内网
accessKeyID
accessKeySecret
Region
endpoint
在使用前,需要先配置您的 OSS 访问信息。
1 | ossutil config |
然后根据提示输入:
Endpoint: 您的 OSS Bucket 所在的地域端点(例如:oss-cn-hangzhou.aliyuncs.com)。AccessKey ID和AccessKey Secret: 您的云账号访问密钥。STS Token: 如果使用临时令牌,可以在此输入。
配置信息默认会保存在 ~/.ossutilconfig 文件中。
3.credential加密ak
# 加密ak存储
[root@xxx ~]# ossutil config credential
[default]
Please enter the config file name,the file name can include path(default "/root/.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
No config file entered, will use the default config file "/root/.ossutilconfig"
Please enter profile:.ossconfig
Please enter authenticate mode, supports StsToken,RamRoleArn,EcsRamRole,Process,Uri,OIDCRoleArn,AK:AK
For the following settings, carriage return means skip the configuration.
Do you need to encrypt access key id and access key secret (y or N):y
Please enter Access Key ID [None]:xxxx
Please enter Access Key Secret [None]:xxxxxxx
74.986972(s) elapsed
4. 常用命令示例
列举 Buckets
1
ossutil ls
列举指定 Bucket 下的文件
1
ossutil ls oss://your-bucket-name/
上传文件/目录
1
2
3
4
5# 上传单个文件
ossutil cp /local/path/file.txt oss://your-bucket-name/
# 递归上传整个目录
ossutil cp -r /local/directory/ oss://your-bucket-name/target-path/下载文件/目录
1
2
3
4
5# 下载单个文件
ossutil cp oss://your-bucket-name/file.txt /local/path/
# 递归下载整个目录
ossutil cp -r oss://your-bucket-name/directory/ /local/path/删除文件
1
ossutil rm oss://your-bucket-name/unwanted-file.txt
同步目录(增量同步)
1
2
3
4
5
6# 将本地目录同步到 OSS,只上传新增或变化的文件
ossutil sync /local/directory/ oss://your-bucket-name/target-path/
ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --delete
# 强制同步本地到bucket保持一致
/opt/ossutil -c /opt/oss-ak sync . oss://xxxx/ --delete -f
与旧版(1.0)的主要区别
| 特性 | ossutil 1.x (旧版) | ossutil 2.x (新版) |
|---|---|---|
| 编程语言 | Python | Go |
| 性能 | 较慢,单线程/少线程 | 极快,默认高并发、分片 |
| 安装 | 需要 Python 环境 | 单一二进制文件,无需依赖 |
| 资源占用 | 较高 | 较低 |
| 跨平台 | 支持,但依赖环境 | 原生支持,更好 |
| 配置文件 | 多种格式 | 统一格式,更清晰 |
| 进度显示 | 基础 | 可视化进度条和速度 |