这是本节的多页打印视图。 .
Silo 客户端(mcli / mc)
- 1: mc alias list
- 2: mc anonymous set
- 3: mc batch cancel
- 4: mc encrypt clear
- 5: mc event add
- 6: mc idp ldap accesskey disable
- 7: mc idp ldap add
- 8: mc idp ldap policy attach
- 9: mc ilm restore
- 10: mc ilm rule add
- 11: mc ilm tier add
- 12: mc legalhold clear
- 13: mc license info
- 14: mc replicate add
- 15: mc retention set
- 16: mc share download
- 17: mc support callhome
- 18: mc support top api
- 19: mc tag set
- 20: mc version enable
- 21: Silo 客户端设置
-
22: mc alias
- 23: mc alias remove
- 24: mc anonymous get
- 25: mc batch describe
- 26: mc encrypt info
- 27: mc event ls
- 28: mc idp ldap accesskey edit
- 29: mc idp ldap disable
- 30: mc idp ldap policy detach
-
31: mc ilm rule
- 32: mc ilm rule edit
- 33: mc ilm tier check
- 34: mc legalhold info
- 35: mc license register
- 36: mc replicate backlog
- 37: mc retention info
- 38: mc share upload
- 39: mc support diag
- 40: mc support top locks
- 41: mc tag list
- 42: mc version info
- 43: mc alias set
-
44: mc anonymous
- 45: mc anonymous list
- 46: mc batch generate
- 47: mc encrypt set
- 48: mc event rm
- 49: mc idp ldap accesskey enable
- 50: mc idp ldap enable
- 51: mc idp ldap policy entities
- 52: mc ilm rule export
-
53: mc ilm tier
- 54: mc ilm tier info
- 55: mc legalhold set
- 56: mc license update
- 57: mc replicate ls
- 58: mc retention clear
- 59: mc share ls
- 60: mc support inspect
- 61: mc support top disk
- 62: mc tag remove
- 63: mc version suspend
- 64: mc alias import
- 65: mc anonymous links
-
66: mc batch
- 67: mc batch list
- 68: mc idp ldap accesskey info
- 69: mc idp ldap info
- 70: mc ilm rule import
- 71: mc ilm tier ls
- 72: mc replicate update
- 73: mc support perf
- 74: mc support top net
- 75: mc alias export
- 76: mc anonymous get-json
- 77: mc batch start
- 78: mc cat
- 79: mc idp ldap accesskey ls
- 80: mc idp ldap ls
- 81: mc ilm rule ls
- 82: mc ilm tier rm
- 83: mc replicate resync
- 84: mc support profile
- 85: mc support top rpc
- 86: mc anonymous set-json
- 87: mc batch status
- 88: mc cp
- 89: mc idp ldap accesskey rm
- 90: mc idp ldap rm
- 91: mc ilm rule rm
- 92: mc ilm tier update
- 93: mc replicate rm
- 94: mc support proxy
- 95: mc diff
- 96: mc idp ldap update
- 97: mc replicate status
-
98: mc support top
- 99: mc du
- 100: mc replicate export
- 101: mc support upload
-
102: mc encrypt
- 103: mc replicate import
-
104: mc event
- 105: mc find
- 106: mc get
- 107: mc head
-
108: mc idp ldap
-
109: mc idp ldap accesskey
- 110: mc idp ldap accesskey create-with-login
-
111: mc idp ldap policy
- 112: mc idp openid
-
113: mc ilm
-
114: mc legalhold
-
115: mc license
- 116: mc ls
- 117: mc mb
- 118: mc mirror
- 119: mc mv
- 120: mc od
- 121: mc ping
- 122: mc pipe
- 123: mc put
- 124: mc rb
- 125: mc ready
-
126: mc replicate
-
127: mc retention
- 128: mc rm
-
129: mc share
- 130: mc sql
- 131: mc stat
-
132: mc support
-
133: mc tag
- 134: mc tree
- 135: mc undo
- 136: mc update
-
137: mc version
- 138: mc watch
- 139: mc idp ldap accesskey create
Pigsty 维护的客户端在独立归档与 Linux 软件包中以 mcli 发布;源码构建、容器入口点、配置目录、模块路径和命令语法则为兼容性保留 mc。它为文件系统和兼容 Amazon S3 的对象存储提供 ls、cat、cp、mirror、diff 等熟悉的命令。
mc 命令行工具以兼容 AWS S3 API 为目标构建。当前源码保留与 Silo、上游 MinIO 和 AWS S3 的兼容性。
Silo 项目无法保证它与每一种其他 S3 兼容服务的行为,因为各家实现存在差异。在将其他服务视为兼容对象前,请先测试工作负载依赖的操作。
mc 的语法如下:
支持的命令列表参见 命令速查。
与 Silo 服务端的版本对齐
客户端与 Silo 服务端独立发布。
为获得最佳功能与兼容性,建议使用与 Silo 或 MinIO 服务端发布时间接近的客户端版本。通常,选择与服务端同日或更晚发布的客户端更稳妥。
可以安装比服务端更新的客户端。但如果版本偏差过大,即使 mc cp 等核心 S3 操作仍兼容,管理功能或 flag 也可能存在差异。
快速开始
1) 安装客户端
请从下载与安装页面选择 Linux 软件包、适用于 Linux/macOS/Windows 的归档文件或客户端容器。版本化制品与校验和也可从 GitHub Releases 获取。
独立归档与 Linux 软件包安装的命令名是 mcli,容器与源码构建则保留 mc。两者是同一个客户端的别名;本文档示例使用 mc,若主机上安装的是 mcli,请直接替换命令名。
从源码构建维护分支:
Pigsty 分支刻意禁用了 mc update。请通过 Silo 下载页、Pigsty 软件仓库或 GitHub Releases升级。
当前 pgsty/mc 源码仍注册 mc license 与 mc support 命令树。这些命令集成的是上游 MinIO SUBNET 及其商业许可/支持服务,而不是 Silo 服务。它们的命令名、协议字段、SUBNET 措辞以及 MinIO 价格/许可证链接属于上游契约,不应更名。
2) 为兼容 S3 的服务创建别名
重要
以下示例会临时禁用 bash history,以降低身份认证凭据明文泄露的风险。 这是一项基础安全措施,无法覆盖所有可能的攻击向量。 对于在命令行输入敏感信息,请遵循你所用操作系统的安全最佳实践。
使用 mc alias set 命令将 Amazon S3 兼容服务添加到 mc 配置 中。
- 将
ALIAS替换为与 S3 服务关联的名称。mc命令通常要求提供ALIAS作为参数, 以标识要执行操作的 S3 服务。 - 将
HOSTNAME替换为 S3 服务的 URL endpoint 或 IP 地址。 - 将
ACCESS_KEY和SECRET_KEY替换为该 S3 服务上某个用户的 access key 和 secret key。
将各参数替换为所需值。 如果省略 ACCESS_KEY 和 SECRET_KEY,命令会在 CLI 中提示输入这两个值。
以下每个标签页都包含一个特定提供商示例:
3) 测试连接
使用 mc admin info 命令测试与新添加 Silo 部署的连接:
如果命令执行成功,会返回该 S3 服务的信息。 如果失败,请检查以下各项:
-
主机可连通 S3 服务 URL(例如使用
ping或traceroute)。 -
指定的
ACCESSKEY和SECRETKEY对应 S3 服务上的有效用户。 该用户必须有权限在该服务上执行操作。对于 MinIO 部署,参见 Access Management 获取更多用户访问权限信息。对于其他兼容 S3 的 服务,请参考该服务文档。
命令速查
下表列出了 mc 命令:
配置文件
mc 使用 JSON 格式的配置文件来存储 某些类型的信息,例如每个已配置兼容 S3 服务的 aliases。
在 Linux 和 macOS 上,默认配置文件位置为 ~/.mc/config.json。
在 Windows 上,mc 会尝试通过特定环境变量 构造默认文件路径。如果某个变量未设置,mc 会继续 尝试下一个变量。如果所有尝试都失败,mc 会返回错误。 下列列表按 mc 检查顺序说明了可能的文件路径位置:
HOME\.mc\config.jsonUSERPROFILE\.mc\config.jsonHOMEDRIVE+HOMEPATH\.mc\config.json
可使用 --config-dir
证书
MinIO 客户端将部署使用的证书和 CA 存储在以下路径:
Linux、macOS 和其他类 Unix 系统:
Windows 系统:
创建新的 alias 时,MinIO Client 会拉取对端证书、计算公钥指纹,并询问用户是否接受该部署的证书。 如果你决定信任该证书,MinIO Client 会将其添加到上述证书颁发机构路径。
说明
在测试环境中,你可以通过传入 --insecure flag,跳过部分 MinIO Client 命令的证书检查。
模式匹配
某些命令和 flag 支持模式匹配。 启用后,模式可包含以下任一通配符用于字符替换:
*表示要匹配的一串字符,可位于中间或末尾。?表示单个字符。
例如,可参考以下通配符使用示例及其结果。
| 模式 | 文本 | 匹配结果 |
|---|---|---|
abc* |
ab | 匹配 |
abc* |
abd | 不匹配 |
abc*c |
abcd | 匹配 |
ab*??d |
abxxc | 匹配 |
ab*??d |
abxc | 匹配 |
ab??d |
abxc | 匹配 |
ab??d |
abc | 匹配 |
ab??d |
abcxdd | 不匹配 |
全局选项
所有 commands 都支持以下全局选项。 你也可以使用 Environment Variables 来定义其中部分选项。
--config-dir
option
指向 JSON 格式配置文件的路径, mc 使用该文件存储数据。有关 mc 如何使用配置文件的更多信息,请参见 配置文件。
或者,设置环境变量 MC_CONFIG_DIR。
--debug
option
启用控制台详细输出。
例如,以下操作会为 mc ls 命令增加详细输出:
或者,设置环境变量 MC_DEBUG。
--disable-pager --dp
option
新增: mc
RELEASE.2024-04-29T09-56-05Z
在 CLI 中禁用 MinIO Client 的分页功能。 使用后,输出会直接打印到原始 STDOUT。
--insecure
option
禁用 TLS/SSL 证书校验。允许与证书无效的 服务器建立 TLS 连接。对不受信任的 S3 主机使用该 选项时请谨慎。
或者,设置环境变量 MC_INSECURE。
--json
option
启用 JSON lines 格式输出到 控制台。
例如,以下操作会为 mc ls 命令增加 JSON Lines 输出:
或者,设置环境变量 MC_JSON。
--no-color
option
禁用控制台输出的内置配色主题。适用于 dumb 终端。
或者,设置环境变量 MC_NO_COLOR。
--quiet
option
抑制控制台输出。
或者,设置环境变量 MC_QUIET。
--resolve
option
新增: mc
RELEASE.2024-08-13T05-33-17Z
创建自定义 DNS 映射,将 HOST 解析到指定 IP 地址。
使用以下语法:
例如:
可重复该 flag 多次以添加更多自定义 DNS 映射。
--version
option
显示 mc 的当前版本。
--help
mc-cmd
Optional
在终端显示命令用法摘要。
1 - mc alias list
语法
mc alias list 命令列出本地 mc 配置中的所有别名。
该命令输出包含每个别名关联的 access key 和 secret key 配置。
以下命令列出本地主机上配置的所有 aliases:
mc alias list 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
可选 要显示的特定别名名称。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出所有已配置别名
以下 mc alias list 命令列出本地 mc 配置中所有已配置的别名。
列出特定别名
以下 mc alias list 命令列出本地 mc 配置中特定别名的详细信息。
- 将
ALIAS替换为要返回的别名名称。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
2 - mc anonymous set
语法
mc anonymous set 命令为存储桶设置匿名(即未认证或公开)访问 策略。
配置了匿名策略的存储桶允许客户端在无需 身份验证 的情况下, 访问存储桶内容并执行与指定策略一致的操作。
要使用 IAM JSON 策略设置存储桶匿名策略,请使用 mc anonymous set-json 命令。
以下命令为 myminio MinIO 部署上的多个存储桶设置匿名访问策略:
应用程序可在无需认证的情况下执行以下操作:
- 向
myminio/uploads和myminio/public执行PUT对象操作。 - 从
myminio/downloads和myminio/public执行GET对象操作。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
PERMISSION
mc-cmd
必需 要分配给指定 ALIAS 的策略名称。 指定以下值之一:
none- 禁用对ALIAS的匿名访问。download- 启用对ALIAS的仅下载访问。upload- 启用对ALIAS的仅上传访问。public- 启用对ALIAS的下载和上传访问。
ALIAS
mc-cmd
必需 要应用指定 PERMISSION 的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
指定存储桶前缀可仅对该前缀设置策略。例如,以下命令分别为 mybucket/downloads 和 mybucket/uploads 前缀设置不同的匿名存储桶策略:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶设置匿名策略
使用 mc anonymous set 为存储桶设置匿名策略:
- 将
POLICY替换为受支持的permission。 - 将
ALIAS替换为已配置 S3 兼容主机的alias。 - 将
PATH替换为目标存储桶。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
3 - mc batch cancel
新增: mc
RELEASE.2023-03-20T17-17-53Z
语法
mc batch cancel 可停止正在进行的批处理作业。
您必须指定作业 ID。 要查找作业 ID,请使用 mc batch list。
以下命令会输出标识为 KwSysDpxcBU9FNhGkn2dCf 的作业定义。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
当前运行该作业的 MinIO 部署的 alias。
JOBID
mc-cmd
Required
要取消的批处理作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
全局参数
此命令支持 全局标志 中的任意选项。
示例
取消正在进行的批处理作业
以下命令会取消别名为 myminio 的部署上 ID 为 KwSysDpxcBU9FNhGkn2dCf 的作业:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4 - mc encrypt clear
语法
mc encrypt clear 命令用于移除存储桶当前的默认加密设置。
以下命令会移除 myminio alias 关联的 MinIO 部署中 mydata 存储桶的默认加密设置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要移除默认 SSE 模式的目标存储桶完整路径。 指定 MinIO 部署的 alias 作为 ALIAS 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除存储桶的自动服务端加密设置
- 将
ALIAS替换为目标 MinIO 部署的 alias, 即要移除存储桶自动服务端加密配置的部署别名。
行为
修改存储桶加密设置不会影响已加密对象
禁用存储桶自动加密 不会 解密该存储桶中的任何对象。
要永久解密存储桶中的对象,可在禁用对象解密后执行原地复制。 对于启用版本控制的存储桶,旧版本对象仍保持加密状态。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
5 - mc event add
语法
mc event add 命令为存储桶添加事件通知触发器。
MinIO 会将已触发的事件自动发送到已配置的 notification target。
以下命令为 myminio MinIO 部署中的 mydata 存储桶上的 所有 PUT 和 DELETE 操作创建新的事件通知触发器:
指定的 ARN 对应 myminio 部署上已配置的 bucket notification target。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要添加新事件通知的 MinIO alias 和存储桶。 例如:
ARN
mc-cmd
Required
通知目标的 Amazon Resource Name (ARN)。
MinIO 服务器启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
--event
mc-cmd
Optional
MinIO 生成存储桶通知所依据的事件。
支持以下取值:
putgetdelete
使用逗号 , 分隔可指定多个值。 值之间不要添加空白字符。
如果未指定,默认值为 put,delete,get。
各支持值对应的 S3 事件详见 支持的存储桶事件。
ignore-existing, p
mc-cmd
Optional
如果已存在匹配的触发器,则指示 MinIO 忽略指定的事件触发器。
--prefix
mc-cmd
Optional
指定可由 --event 触发存储桶通知的存储桶前缀。
例如,若 ALIAS 为 play/mybucket 且 --prefix 为 photos,则只有 play/mybucket/photos 中的事件会触发存储桶通知。
省略该参数时,存储桶中所有前缀和对象的事件都可触发通知。
--suffix
mc-cmd
Optional
指定可由 --event 触发存储桶通知的存储桶后缀。
例如,若 ALIAS 为 play/mybucket 且 --suffix 为 .jpg,则只有 play/mybucket/*.jpg 中的事件会触发存储桶通知。
省略该参数时,无论后缀为何,所有对象的事件都可触发通知。
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶添加事件通知
以下命令为某个存储桶上的所有 S3 PUT、GET 和 DELETE 操作添加新的事件通知触发器。该命令假设 MinIO 部署中至少已配置一个 bucket notification target:
行为
支持的存储桶事件
下表列出了 mc event add 支持的取值及其对应的 S3 events:
有关上述 S3 事件的更完整文档,请参见 S3 Supported Event Types。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
6 - mc idp ldap accesskey disable
描述
mc idp ldap accesskey disable 会在 MinIO 部署上禁用指定的 access key。
以下示例在
minio部署上禁用访问密钥mykey:
该命令的语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要禁用的访问密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要禁用的已配置访问密钥。
示例
禁用 minio 部署中的访问密钥 mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
7 - mc idp ldap add
描述
mc idp ldap add 命令用于创建 AD/LDAP IDP 服务器配置。
每个 MinIO 部署最多仅支持 一个 (1) AD/LDAP 提供商。
以下示例为 myminio 部署设置 AD/LDAP 配置项。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于创建 AD/LDAP 集成。 -
将
[CFG_PARAM#]替换为各个 configuration setting 键值对,格式为PARAMETER="value"。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要添加 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
server_addr
mc-cmd
Required
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_ADDR。
lookup_bind_dn
mc-cmd
Required
指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。
该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN。
lookup_bind_password
mc-cmd
Required
指定 Lookup-Bind 用户账户的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD。
user_dn_attributes
mc-cmd
Optional
新增: RELEASE.2024-06-06T09-36-42Z
用户 DN 属性的逗号分隔列表。
一些有效值包括 uid,cn,mail,sshPublicKey。
如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。
user_dn_search_base_dn
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。
多个 DN 之间请使用分号(;)分隔。
例如:
支持 Lookup-Bind 模式。
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN。
user_dn_search_filter
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER。
comment
mc-cmd
Optional
指定要附加到 AD/LDAP 配置上的注释。
该参数对应环境变量 MINIO_IDENTITY_LDAP_COMMENT。
enabled
mc-cmd
Optional
设为 false 可禁用 AD/LDAP 配置。
如果设为 false,应用程序将无法生成 STS 凭证, 也无法再使用已配置的提供者向 MinIO 进行身份验证。
默认为 true,即 “enabled”。
group_search_base_dn
mc-cmd
Optional
指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。
例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN。
group_search_filter
mc-cmd
Optional
指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。
例如:
在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER。
server_insecure
mc-cmd
Optional
指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。
MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。
默认值为 off。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_INSECURE。
server_starttls
mc-cmd
Optional
指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。
默认值为 off
有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_STARTTLS。
srv_record_name
mc-cmd
Optional
新增: RELEASE.2022-12-12T19-27-27Z
指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。
启用后,MinIO 会通过以下方式选择 AD/LDAP server:
- 按标准命名约定构造目标 SRV 记录名称。
- 请求可用的 AD/LDAP server 列表。
- 根据优先级和权重选择合适的目标。
下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp。
对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:
对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:
如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com
有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP。
DNS SRV 记录配置中的 server 地址
指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。
关于如何配置 AD/LDAP server 地址,请参见 server_addr 或 MINIO_IDENTITY_LDAP_SERVER_ADDR。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SRV_RECORD_NAME。
tls_skip_verify
mc-cmd
Optional
指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。
默认值为 off
该参数对应环境变量 MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8 - mc idp ldap policy attach
描述
mc idp ldap policy attach 命令将一个或多个策略附加到实体。
以下示例将策略
userpolicy附加到myminio部署中的用户bobfisher:
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
将
POLICYNAME替换为要附加到实体的策略。 你可以列出多个要附加到实体的策略。 -
必须使用
--user或--group标志之一。 在命令中每个标志只能使用一次。 不能在同一命令中同时使用这两个标志。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,其中包含要附加策略的实体。
例如:
示例
以下示例将两个策略 policy1 和 policy2 附加到 myminio 部署中的 projectb 组:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
9 - mc ilm restore
语法
mc ilm restore 命令会为归档在远程层上的对象创建一个临时副本。 默认情况下,该副本会在 1 天后自动过期。
使用此命令可让应用程序通过 MinIO 部署访问分层对象(例如“热层”)。 归档对象会保留在远程层,而临时副本会成为该对象的 HEAD。
新增: mc
RELEASE.2023-04-12T02-21-51Z
使用 mc stat 可显示已恢复对象是从本地临时副本读取还是从远程层读取。 当前正在从远程层恢复的对象会显示状态 Ongoing : true。
以下命令将远程层上一个已转储对象的副本恢复到 myminio MinIO 部署:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要恢复的归档对象对应的 MinIO alias、存储桶和路径。
--days
mc-cmd
Optional
MinIO 使已恢复归档对象副本过期前的天数。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--recursive, r
mc-cmd
Optional
恢复指定前缀下的所有对象。
--versions
mc-cmd
Optional
恢复远程层上该对象的所有版本。
--version-id, vid
mc-cmd
Optional
恢复远程层上该对象的指定版本。
全局参数
此命令支持 全局标志 中的任意选项。
示例
恢复归档对象
以下命令恢复一个已归档到远程层的对象:
恢复指定版本的归档对象
以下命令恢复一个已归档到远程层的指定对象版本:
恢复存储桶前缀下的所有归档对象
以下命令恢复远程层上指定前缀下归档的所有对象:
行为
已恢复对象自动过期
MinIO 会在指定天数后自动使已恢复对象副本过期(默认:1 天)。
已恢复对象会成为 HEAD
无论该对象命名空间的版本控制历史如何,已恢复的对象副本都会成为 HEAD。 在本地副本存在期间,这可能导致应用程序返回“过时”数据。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
10 - mc ilm rule add
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule rm 替代 mc ilm add。
语法
mc ilm rule add 命令用于向存储桶添加对象生命周期管理规则。
该命令支持添加 迁移(分层) 和 过期 两类生命周期管理规则。
以下命令将新的生命周期管理规则添加到 myminio 部署上的 mydata 存储桶:
已配置规则的效果如下:
- 删除超过 90 天的对象
- 对象变为非当前版本后 30 天删除
- 如果对象没有其他剩余版本,则删除
DeleteMarker墓碑。 - 将超过 30 天的对象迁移到
COLDTIER远程层。 - 对象变为非当前版本后 7 天迁移到
COLDTIER远程层。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署上用于添加对象生命周期管理规则的 alias 和存储桶。
例如:
--prefix
mc-cmd
Optional
将管理规则限定到特定对象前缀。
例如:
该命令会创建一条规则:对于 myminio ALIAS 上 mydata 存储桶中具有 meetingnotes/ 前缀的对象,在 90 天后过期。
--tags
mc-cmd
Optional
一个或多个以 & 分隔的键值对,用于描述对象标签,以筛选生命周期配置规则适用的对象。
此选项与以下选项互斥:
--expire-all-object-versions
mc-cmd
Optional
新增: mc
RELEASE.2024-02-24T01-33-20Z
使对象的当前版本和非当前版本全部过期。 与 --expire-days 选项结合使用,以指定扫描器进程在多少天后删除对象的所有版本。
在 scanner 处理该命令后,部署中将不再保留该对象的任何版本。
变更: MinIO
RELEASE.2024-05-01T01-11-10Z
此标志 仅 适用于最新版本 不是 删除标记的对象。
--expire-days
mc-cmd
Optional
对象创建后保留的天数。 达到指定天数后,MinIO 会将对象标记为待删除。 使用整数指定天数,例如 30 表示 30 天。
对于启用版本控制的存储桶,过期规则仅适用于对象的 当前 版本。 使用 --noncurrent-expire-days 或 --expire-all-object-versions 标志,可将过期行为应用于对象的非当前版本。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
与以下选项互斥:
--expire-delete-marker
mc-cmd
Optional
指定该选项后,MinIO 会移除没有剩余对象版本的对象删除标记。 具体来说,删除标记是该对象唯一剩余的“版本”。
此选项与以下选项互斥:
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--transition-days
mc-cmd
Optional
对象创建后经过多少个日历日,MinIO 将对象标记为可迁移。 MinIO 会将对象迁移到由 --transition-tier 指定的远程层。 使用整数指定天数,例如 30 表示 30 天。 如果远程层是另一个 MinIO 部署,可将该值设为 0,使新对象立即具备迁移到远程层的资格。
对于启用版本控制的存储桶,迁移规则仅适用于对象的 当前 版本。 使用 --noncurrent-transition-days 选项可将迁移行为应用于对象的非当前版本。
需要同时指定 --transition-tier。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
关于对象迁移的完整文档,请参见 对象迁移(”Tiering”)。
--transition-tier
mc-cmd
Optional
MinIO transition objects 的目标远程层。 指定由 mc ilm tier add 创建的现有远程层。
当指定 --transition-days 时,此项为必需。
--noncurrent-expire-days
mc-cmd
Optional
对象版本变为 非当前 后(即该对象已有其他版本成为 HEAD)保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
此选项与 S3 NoncurrentVersionExpiration 操作行为一致。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--noncurrent-transition-days
mc-cmd
Optional
对象在成为非当前版本后(即被同一对象的更新版本替换)经过多少天,MinIO 将该对象版本标记为可迁移。 当系统主机日期时间超过该日历日期时,MinIO 会将对象迁移到 --transition-tier 指定的远程层。
此选项对非版本化存储桶无效。 需要同时指定 --noncurrent-transition-tier。
此选项与 S3 NoncurrentVersionTransition 操作行为一致。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--noncurrent-transition-tier
mc-cmd
Optional
MinIO transitions noncurrent objects versions 的目标远程层。 指定由 mc ilm tier add 创建的远程层。
--noncurrent-expire-newer
mc-cmd
Optional
要保留的非当前对象版本最大数量,按从新到旧排序。
使用此标志可按先进先出方式保留文件的一定数量历史版本。 在保留达到最大非当前版本数后,MinIO 会将其余更旧的非当前对象版本标记为可过期。
下表基于 --noncurrent-expire-newer 3 展示对象版本数量及其过期资格:
v5(当前版本) |
当前版本不受 ILM 规则影响。 |
v4 |
保留 |
v3 |
保留 |
v2 |
保留 |
v1 |
标记为过期 |
MinIO 会保留当前版本 v5。 MinIO 还会从最新版本开始,保留接下来的 3 个非当前版本。 这意味着 MinIO 会将 v4、v3 和 v2 作为要保留的三个非当前版本。
v1 是第四个非当前版本,超出非当前版本保留上限,因此 MinIO 会将 v1 标记为过期。
更新此标志的数值只会影响尚未标记的对象版本。 对于已标记为过期的版本,即使增加保留数量也不会改变。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--size-gt
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
选择大于指定值的对象。 以数字加单位输入该值,例如 5GiB 表示 5 gibibytes。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 KB) |
g |
GB(吉字节,1000 MB) |
t |
TB(太字节,1000 GB) |
ki |
KiB(kibibyte,1024 字节) |
mi |
MiB(mebibyte,1024 KiB) |
gi |
GiB(gibibyte,1024 MiB) |
ti |
TiB(tebibyte,1024 GiB) |
--size-lt
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
选择小于指定值的对象。 以数字加单位输入该值,例如 1M 表示 1 megabyte。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 KB) |
g |
GB(吉字节,1000 MB) |
t |
TB(太字节,1000 GB) |
ki |
KiB(kibibyte,1024 字节) |
mi |
MiB(mebibyte,1024 KiB) |
gi |
GiB(gibibyte,1024 MiB) |
ti |
TiB(tebibyte,1024 GiB) |
全局标志
此命令支持 全局标志 中的任意选项。
示例
在指定天数后过期存储桶全部内容
将 mc ilm rule add 与 --expire-all-object-versions 和 --expire-days 标志配合使用,可在对象创建后经过指定天数后,将存储桶中的所有当前版本和非当前版本内容标记为过期:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。 - 将
DAYS替换为每个对象过期前的天数。 例如,指定30表示对象在创建 30 天后过期。
将某前缀下的非当前对象版本迁移到不同层
将 mc ilm rule add 与 --prefix 和 --transition-tier 配合使用,可将对象较旧的非当前版本迁移到不同存储层。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
- 前缀下超过 90 天的当前对象会移动到
MINIOTIER-1存储层。 - 前缀下超过 45 天的非当前对象会移动到
MINIOTIER-2存储层。 MINIOTIER-1和MINIOTIER-2均已通过mc admin tier add创建。
让某前缀下所有对象过期,并让当前版本比非当前版本保留更久
将 mc ilm rule add 命令与 --prefix、--expire-days 和 --noncurrent-expire-days 配合使用,可让对象的当前版本与非当前版本在不同时间过期。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
- 当前对象在 300 天后过期。
- 非当前对象在 100 天后过期。
迁移前缀 /doc 下大于 1MiB 的非当前版本
将 mc ilm rule add 命令与 --prefix、--size-gt 和 --noncurrent-expire-days 配合使用,可让对象的当前版本与非当前版本在不同时间过期。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
该命令会选择以下对象:
- 大于 1MiB 且超过 90 天的当前对象。
- 大于 1MiB 且超过 45 天的非当前对象。
所选对象会迁移到 MINIOTIER-1。
移除删除标记
以下命令会移除删除标记仅为对象唯一剩余版本的对象的删除标记。
说明
若要删除最新版本为删除标记的对象的所有版本,包括删除标记本身,可考虑使用 batch expiration。
所需权限
有关添加规则所需权限,请参见父命令中的 required permissions。
行为
生命周期管理对象扫描器
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。在高 IO 负载或 系统资源受限时,扫描变慢可能导致生命周期管理 规则应用延迟。更多信息请参见 生命周期管理对象扫描器。
过期与迁移
MinIO 支持在同一个存储桶或存储桶前缀中同时指定过期和迁移规则。 无论对象的迁移状态如何,MinIO 都可以对其执行过期规则。 使用 mc ilm rule ls 查看当前已配置的对象生命周期 管理规则,以评估过期与迁移规则之间可能的相互影响。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
11 - mc ilm tier add
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier add 替代了 mc admin tier add。
描述
mc ilm tier add 命令在受支持的存储服务上创建一个新的远程存储层。
完整列表请参见 对象转换。
支持的 S3 服务
mc ilm tier add 仅 支持以下 S3 兼容服务作为对象分层的远程目标:
- MinIO
- Amazon S3
- Google Cloud Storage
- Azure Blob Storage
权限
在为对象转换生命周期管理规则创建远程层的集群上,MinIO 需要以下管理权限:
例如,以下策略授予在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
以下示例在 myminio 部署上创建一个名为 WARM-MINIO-TIER 的新远程层。 该命令为位于主机名 https://warm-minio.com 的远程 MinIO 部署创建一个层。
myminio 部署上的生命周期管理规则可以使用该新层,将对象转换到远程位置 mybucket 存储桶中的 myprefix/ 前缀下。
命令语法如下:
注意: 每个受支持的存储供应商使用不同的认证方式。 用于认证的标志因存储供应商而异。 详见下方 TIER_TYPE。
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TIER_TYPE
mc-cmd
Required
MinIO 将对象转换到的云服务提供商存储后端(”Tier”)。 指定以下受支持值之一:
|
使用远程 MinIO 部署作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 AWS S3 作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 Azure Blob Storage 作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 GCP Cloud Storage 作为新 Tier 的存储后端。 还需要指定以下参数: |
TARGET
mc-cmd
Required
命令在该已配置 MinIO 部署的 alias 上创建新的远程层。 随后你可以使用 mc ilm rule add 并指定该新远程层来创建新规则。
TIER_NAME
mc-cmd
Required
与新远程层关联的名称。 该名称 必须 在 MinIO 集群所有已配置层中唯一。
你 必须 使用全大写指定 tier,例如 WARM_TIER。
--endpoint
mc-cmd
Optional
S3 或 MinIO 存储的 URL endpoint。 URL endpoint 必须 解析到 TIER_TYPE 指定的提供方。
对 s3 或 minio tier 类型为必需,对 azure 为可选。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--access-key
mc-cmd
Optional
远程 S3 或 minio tier 类型中某个用户的 access key。 该用户必须具有对远程存储桶或存储桶前缀执行 read/write/list/delete 操作的权限。
当 TIER_TYPE 为 s3 或 minio 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--secret-key
mc-cmd
Optional
远程 s3 或 minio tier 类型中某个用户的 secret key。
当 TIER_TYPE 为 s3 或 minio 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--account-name
mc-cmd
Optional
用作远程存储资源的 Storage Account。
当 TIER_TYPE 为 azure 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
MinIO 不 支持更改与 Azure 远程 tier 关联的存储账户名。 Azure 存储后端绑定到存储账户,因此更改该值会更换存储后端,并导致无法访问已转换到原账户/后端的任何对象。
--account-key
mc-cmd
Optional
与远程 Azure tier 关联的 --account-name 对应的共享 account key。
该 account key 必须绑定具备所需 权限 的 Azure 策略。
当 TIER_TYPE 为 azure 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--credentials-file
mc-cmd
Optional
远程 Google Cloud Storage tier 中用户使用的 credential file。 该用户必须具有对远程存储桶或存储桶前缀执行 read/write/list/delete 操作的权限。
当 TIER_TYPE 为 gcs 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--bucket
mc-cmd
Required
MinIO 将对象转换到的远程 tier 存储桶。
对于 azure 远程 tier,该值对应 Container name
--prefix
mc-cmd
Optional
MinIO 将对象转换到指定 --bucket 的前缀路径。
省略此字段可将对象转换到存储桶根路径。
--storage-class
mc-cmd
Optional
MinIO 应用于转换到远程存储桶对象的 storage class(在 Microsoft Azure 中称为 “access tier”)。
应用于 MinIO 转换到远程存储桶对象的 storage class。 MinIO 分层行为依赖远程存储在请求后立即返回对象(毫秒到秒级)。 因此 MinIO 无法 支持需要 rehydration、等待周期或手动干预的远程存储。
选择与 TIER_TYPE 对应的选项卡,查看各层支持的值:
STANDARD推荐REDUCED
更多信息请参见 纠删码存储类。
STANDARDSTANDARD-IAONEZONE-IA
更多信息请参见 使用 Amazon S3 存储类。
STANDARDNEARLINECOLDLINE
更多信息请参见 GCS 存储类。
HotCool
更多信息请参见 Blob 数据的 Hot、Cool 和 Archive 访问层。
若省略,对象将使用远程存储桶定义的默认存储类。
--region
mc-cmd
Optional
指定 TIER_TYPE 的 S3 后端区域,例如 us-west-1。
该选项仅在 TIER_TYPE 为 s3 或 minio 时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--use-aws-role
mc-cmd
Optional
使用本地配置的 AWS Role 的访问权限。
该选项仅在 TIER_TYPE 为 s3 或 minio 时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--aws-role-arn
mc-cmd
Optional
转换对象时要使用的 AWS S3 角色名称。
该选项仅在 TIER_TYPE 为 s3 且 源端是 Amazon EKS 上的 MinIO pod 时生效。
--aws-web-identity-file
mc-cmd
Optional
指定转换对象时使用的 web identity token 文件。
该选项仅在 TIER_TYPE 为 s3 且 源端是 Amazon EKS 上的 MinIO pod 时生效。
--azure-sp-tenant-id
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 Tenant ID。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--azure-sp-client-id
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 Client ID。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--azure-sp-client-secret
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 client secret。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
配置一个 Tier 以将对象转换到 MinIO 部署
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到独立的远程 MinIO 部署。
该命令在 myminio 部署上为 minio 类型远程存储创建一个名为 WARM-MINIO-TIER 的新层。
- 远程 MinIO 存储位于
https://warm-minio.com。 - 命令中包含了一个对该存储桶及前缀具备 read、write、list 和 delete 权限用户的凭据。
- 该层会将对象转换到远程 MinIO 存储上的
mybucket存储桶与myprefix前缀。
配置一个 Tier 以将对象转换到 Azure Blob Storage 位置
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 Azure Blob Storage。
该命令在 myminio 部署上为 azure 类型远程存储创建一个名为 AZTIER 的新层。
- 使用提供的 account name 和 key 访问远程 Azure 存储。
- 该层会将对象转换到 Azure 存储上的
myazurebucket存储桶与myazureprefix前缀。
配置一个 Tier 以将对象转换到 Google Cloud Storage
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 Google Cloud Storage。
该命令在 myminio 部署上为 gcs 类型远程存储创建一个名为 GCSTIER 的新层。
- 使用提供的 credentials file 访问远程 GCS 存储。
- 该层会将对象转换到 GCS 存储上的
mygcsbucket存储桶与mygcsprefix前缀。
配置一个 Tier 以将对象转换到 Amazon Simple Storage Service (S3)
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 S3 上的 STANDARD 存储。
该命令在 myminio 部署上为 s3 类型远程存储创建一个名为 S3TIER 的新层。
- S3 存储位于提供的 endpoint。
- 使用提供的 access key 和 secret key 访问远程 S3 存储。
- 该层会将对象转换到 GCS 存储上的
mys3bucket存储桶与mys3prefix前缀。 - 该层使用位于
us-west-2S3 区域的 S3STANDARD存储类。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关添加 tier 所需的权限,请参见父命令中的 required permissions。
12 - mc legalhold clear
语法
mc legalhold clear 命令会移除一个或多个对象当前的 legal hold 设置。
移除对象的 legal hold 不会 移除对象上已有的其他 GOVERNANCE 模式 和 COMPLIANCE 模式 保留设置。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶内 所有对象的 legal hold:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO alias 以及要移除 legal hold 的对象路径(可为单个或多个对象)。例如:
--recursive, r
mc-cmd
Optional
移除 ALIAS 指定存储桶或存储桶前缀下 所有对象的 legal hold。
--rewind
mc-cmd
Optional
指示 mc legalhold clear 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold clear 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取对象的 Legal Hold 状态
使用 mc legalhold clear 获取对象的 legal hold 状态。 包含 --recursive 可返回存储桶内容的 legal hold 状态:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的 存储桶或对象路径。若指定的是存储桶或存储桶前缀路径,请包含--recursive选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
13 - mc license info
描述
mc license info 命令用于显示 MinIO 部署的许可证状态信息。 具体来说,用于确认该部署使用的是 AGPLv3 开源许可证,还是 MinIO Commercial License。
你必须在 MinIO MinIO SUBNET 中注册部署,才能激活商业许可证。
例如,对于未注册的部署,该命令会返回以下信息:
使用 mc license register 将你的部署关联到 SUBNET 账户。 如果你尚未注册 SUBNET,请参阅 Registration 页面。
示例
显示别名为 minio1 的部署当前许可证
如果部署使用的是已过期的 MinIO Commercial License,该命令会输出错误信息。
语法
该命令的语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
在运行 minio client 的客户端机器无法通过网络访问 SUBNET 的环境中使用(例如 airgapped、受防火墙限制或类似配置),以显示如何将部署注册到 SUBNET 的说明。
如果部署处于 airgapped 环境,但本地设备具备网络访问能力,则无需使用 --airgap 标志。
全局选项
此命令支持 全局标志 中的任意选项。
14 - mc replicate add
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate add 替代了 mc admin bucket remote add 命令。
MinIO 会根据给定的文件路径或资源位置(例如 IP 或 DNS 地址)自动创建远程目标。 定义远程目标的用户不再需要为远程存储桶确定 ARN。
语法
mc replicate add 命令会为 MinIO 部署中的存储桶创建一条新的 服务端复制 规则。
远程存储桶 必须 位于与本地部署运行相同 MinIO 版本的 MinIO 部署上。
说明
mc mirror 仅同步对象的当前版本,而 mc replicate 会同步对象的所有版本、版本信息和元数据。
创建规则后,MinIO 部署会自动开始将新对象同步到远程 MinIO 部署。 你也可以选择配置对现有对象、删除操作和已完全删除对象的同步。
以下命令为 myminio MinIO 部署上的 mydata 存储桶添加一条新的复制规则:
该复制规则会将带版本的删除操作、删除标记和现有对象同步到远程 MinIO 部署。
变更: mc
RELEASE.2024-03-03T00-13-08Z
你可以在 --remote-bucket 参数中使用已配置的 ALIAS。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要在其上创建复制规则的存储桶或存储桶前缀的完整路径。 例如:
--remote-bucket
mc-cmd
Required
指定远程位置的凭证、目标部署和存储桶。 该值可以是 IP 地址、URL 或 alias/bucket。
例如,基于 URL 的目标可能如下所示:
基于 alias 的目标可能如下所示:
--bandwidth
mc-cmd
Optional
将带宽速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将带宽速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 不会限制带宽速率。
--disable
mc-cmd
Optional
以“disabled”状态创建复制规则。 在使用 mc replicate update 将其启用之前,MinIO 不会按该规则开始复制对象。
在复制禁用期间创建的对象,在启用规则后不会立即具备复制资格。 你必须在传给 mc replicate update --replicate 的复制功能列表中包含 "existing-objects",以显式启用现有对象复制。 更多信息请参见 现有对象的复制。
--disable-proxy
mc-cmd
Optional
在定义存储桶之间的 active-active 复制时,不使用代理。
默认情况下,MinIO 使用代理。
--healthcheck-seconds
mc-cmd
Optional
两次远程存储桶健康检查之间的时间间隔(秒)。
若未指定,MinIO 使用 60 秒间隔。
--id
mc-cmd
Optional
为复制规则指定唯一 ID。 如果未指定,MinIO 会自动生成一个 ID。
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 使用不限速的下载速率。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 使用不限速的上传速率。
--path
mc-cmd
Optional
为远程存储桶启用 path-style 查找支持。
有效值包括:
on- 使用路径查找来定位远程存储桶off- 使用资源定位符风格(如域名或 IP 地址)查找来定位远程存储桶auto- 由 MinIO 自动识别用于定位远程存储桶的正确查找类型
未定义时,MinIO 使用 auto 值。
--priority
mc-cmd
Optional
指定复制规则的整数优先级。 该值 必须 在源存储桶的所有其他规则中保持唯一。 值越高表示优先级 越高。
默认值为 0。
--region
mc-cmd
Optional
要将内容复制到的目标存储桶区域。
--replicate
mc-cmd
Optional
指定一个由逗号分隔的值列表,以启用扩展复制功能。
-
delete- 指示 MinIO 将 DELETE 操作 复制到目标存储桶。 -
delete-marker- 指示 MinIO 将删除标记复制到目标存储桶。 -
existing-objects- 指示 MinIO 复制在启用复制前创建的对象,或在复制暂停期间创建的对象。 -
metadata-sync- 指示 MinIO 为每个对象复制元数据。 仅适用于 active-active 复制场景。省略此值会使 MinIO 停止将仅元数据变更回传到源端。
若未指定,MinIO 会同步所有选项。
--storage-class
mc-cmd
Optional
指定应用到复制对象上的 MinIO storage class。
--sync
mc-cmd
Optional
为该远程目标启用同步复制。
默认情况下,MinIO 使用异步复制。
--tags
mc-cmd
Optional
指定一个或多个以和号 & 分隔的键值对标签,MinIO 用其筛选要复制的对象。 例如:
MinIO 会将复制规则应用到标签集合 包含指定复制标签的任何对象。
全局参数
此命令支持 全局标志 中的任意选项。
示例
配置存储桶复制
以下 mc replicate add 命令会创建一个复制配置,将所有新对象、现有对象、删除操作和删除标记同步到远程目标:
- 将
myminio/mybucket替换为ALIAS及要创建复制配置的完整存储桶路径。 - 将
--remote-bucket的值替换为远程目标的 URL 或路径。 如果使用文件路径格式的位置,请使用--path on选项。 --replicate参数会指示 MinIO 将所有删除操作、删除标记和现有对象复制到远程端。 关于复制行为的更多信息,请参见 删除操作的复制 和 现有对象的复制。
为历史数据记录配置存储桶复制
以下 mc replicate add 命令会创建一个新的存储桶复制配置,将所有新对象和现有对象同步到远程目标:
- 将
myminio/mybucket替换为ALIAS及要创建复制配置的完整存储桶路径。 - 将
--remote-bucket的值替换为远程目标的位置。 如果使用文件路径格式的位置,请使用--path on选项。 --replicate参数会指示 MinIO 将所有现有对象复制到远程端。 关于复制行为的更多信息,请参见 现有对象的复制。
生成的远程副本表示远程端对象的历史记录,源端的删除操作不会影响该远程副本。
行为
服务端复制要求源端和目标端均为 MinIO
MinIO 服务端复制仅适用于 MinIO 部署之间。 源端和目标端部署都 必须 运行 MinIO。
若要在任意兼容 S3 的服务之间配置复制,请使用 mc mirror。
在源存储桶和目标存储桶上启用版本控制
MinIO 依赖版本控制提供的不可变性保护,在源端与复制目标之间同步对象。
在开始此流程前,使用 mc version enable 命令在源存储桶和目标存储桶 两端 启用版本控制:
所需权限
MinIO 强烈建议专门创建用于支持存储桶复制操作的用户。 关于向 MinIO 部署添加用户和策略的更完整文档,请参见 mc admin user 和 mc admin policy。
以下策略提供在部署上配置并启用复制所需的权限。
"EnableRemoteBucketConfiguration"语句授予创建远程目标以支持复制的权限。"EnableReplicationRuleConfiguration"语句授予在存储桶上创建复制规则的权限。"arn:aws:s3:::*资源将复制权限应用到源部署上的 任意 存储桶。 你可以按需将用户策略限制到特定存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制源的部署。 使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将策略关联到该新用户。
以下策略提供将复制数据同步 到 该部署所需的权限。
"EnableReplicationOnBucket"语句授予远程目标检索存储桶级配置的权限,以支持在 MinIO 部署中 所有 存储桶上的复制操作。 若要将策略限制到特定存储桶,请在Resource数组中按"arn:aws:s3:::bucketName"形式指定这些存储桶。"EnableReplicatingDataIntoBucket"语句授予远程目标将数据同步到 MinIO 部署中 任意 存储桶的权限。 若要将策略限制到特定存储桶,请在Resource数组中按"arn:aws:s3:::bucketName/*"形式指定这些存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制目标的部署。 使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将策略关联到该新用户。
现有对象复制
从 mc RELEASE.2021-06-13T17-48-22Z 和 minio RELEASE.2021-06-07T21-40-51Z 开始,MinIO 支持自动复制存储桶中的现有对象。 MinIO 的现有对象复制实现了类似 AWS Replicating existing objects between S3 buckets 的能力,而无需联系技术支持的额外开销。
- 若要在创建新复制规则时启用现有对象复制,请在传给
mc replicate add --replicate的复制功能列表中包含"existing-objects"。 - 若要为已有复制规则启用现有对象复制,请使用
mc replicate add --replicate将"existing-objects"添加到现有复制功能列表中。 编辑复制规则时,你必须指定 所有 期望的复制功能。
有关此行为的更完整文档,请参见 现有对象的复制。
元数据变更同步
MinIO 支持 双向 active-active 复制配置,即在两个 MinIO 部署上的存储桶之间同步新增和修改后的对象。 从 mc RELEASE.2021-05-18T03-39-44Z 开始,MinIO 默认会将复制对象的仅元数据变更同步回“源”部署。 在该更新之前,MinIO 不支持同步复制对象的仅元数据变更。
启用元数据同步后,MinIO 会重置对象的 复制状态 以表明其具备复制资格。 具体而言,当应用对状态为 REPLICA 的对象执行仅元数据更新时,MinIO 会将对象标记为 PENDING 并使其具备复制资格。
若要禁用元数据同步,请使用 mc replicate update --replicate 命令,并在复制功能列表中省略 replica-metadata-sync。
删除操作复制
MinIO 支持将删除操作复制到目标存储桶。 具体来说,MinIO 可以同时复制 Delete Markers 以及 特定版本对象的删除:
- 对对象执行删除操作时,MinIO 复制也会在目标存储桶创建删除标记。
- 对对象版本执行删除操作时,MinIO 复制也会删除目标存储桶中的对应版本。
对于因 生命周期管理过期规则 被删除的对象,MinIO 不会 进行复制。 MinIO 仅复制由客户端显式触发的删除操作。
MinIO 要求使用 mc replicate add --replicate 参数显式启用删除操作复制。 本流程包含启用删除操作和删除标记复制所需的参数。 有关此行为的更完整文档,请参见 删除操作的复制。
加密对象复制
MinIO 支持复制使用自动 Server-Side Encryption (SSE-S3) 加密的对象。 要复制加密对象,源存储桶和目标存储桶都 必须 启用自动 SSE-S3。
作为复制流程的一部分,MinIO 会在源存储桶上 解密 对象,并传输未加密对象。 目标 MinIO 部署随后会使用目标存储桶的 SSE-S3 配置重新加密该对象。 MinIO 强烈建议 在源端和目标端部署上都 启用 TLS,以确保对象在传输过程中的安全。
MinIO 不 支持复制客户端侧加密对象(SSE-C)。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
15 - mc retention set
语法
mc retention set 命令用于为存储桶中的一个或多个对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认对象锁定设置,使未显式配置对象锁定的所有对象继承该存储桶默认值。
要在 legal hold 下锁定对象, 请使用 mc legalhold set。
mc retention set 要求 指定存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关启用对象锁定创建存储桶的文档,请参见 mc mb --with-lock。
以下命令会在 myminio MinIO 部署中的 mydata 存储桶上, 设置默认 30 天的 GOVERNANCE 对象锁:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention set --version-id 与多个其他参数互斥。 更多信息请参见参考文档。
参数
MODE
mc-cmd
Required
设置 ALIAS 的锁定模式。 指定以下支持值之一:
governancecompliance
有关支持模式的更多信息,请参见 AWS S3 文档 Object Lock Overview。
需要指定 VALIDITY。
VALIDITY
mc-cmd
Required
指定对象在创建后保持在 MODE 中的持续时间。
-
按天计时,指定格式为
Nd的字符串。例如,30d表示对象创建后 30 天。 -
按年计时,指定格式为
Ny的字符串。例如,1y表示对象创建后 1 年。
ALIAS
mc-cmd
Required
需要设置对象锁定配置的对象或对象集合的完整路径。 指定 MinIO 或兼容 S3 服务的 alias 以及存储桶完整路径。 例如:
- 如果
ALIAS指定的是存储桶或存储桶前缀,请包含--recursive以将对象锁定设置应用到 存储桶内容。 mc retention set默认仅应用到对象的最新版本。 使用--version-id或--versions可分别将对象锁定设置 应用于指定版本或对象的所有版本。
--bypass
mc-cmd
Optional
允许具有 s3:BypassGovernanceRetention 权限的用户 修改对象。需要 governance 保留 MODE
--default
mc-cmd
Optional
使用 MODE 和 VALIDITY, 为 ALIAS 指定的存储桶设置默认对象锁定设置。 在该存储桶中创建的任何对象都会继承默认对象锁定设置, 除非使用 mc retention set 显式覆盖。
如果指定 --default, mc retention set 会忽略所有其他标志。
--recursive, --r
mc-cmd
Optional
递归将对象锁定设置应用到 ALIAS 路径下的所有对象。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, --vid
mc-cmd
Optional
指示 mc retention set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
--versions
mc-cmd
Optional
指示 mc retention set 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 结合使用, 可将保留设置应用到特定时间点存在的所有对象版本。
全局标志
此命令支持 全局标志 中的任意选项。
示例
设置存储桶默认保留设置
将 mc retention set 与 --recursive 和 --default 结合使用, 以设置存储桶默认保留设置。
- 将
MODE替换为要启用的保留模式。 MinIO 支持 AWS S3 保留模式governance和compliance。 - 将
DURATION替换为对象锁定应持续生效的时长。 例如,要将保留期设置为 30 天,请指定30d。 - 将
ALIAS替换为已配置的兼容 S3 主机的alias。 - 将
PATH替换为存储桶路径。
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
为已版本化对象设置对象锁定配置
将 mc retention set 与 --version-id 结合使用, 可将保留设置应用到特定对象版本:
将 mc retention set 与 --versions 结合使用, 可将保留设置应用到特定对象版本:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
行为
对象版本的保留
对于启用了 versioning 的存储桶,mc retention set 默认对目标对象(一个或多个)的 最新 版本执行操作。 mc retention set 包含若干特定选项,在 显式 指定时, 可指示命令对特定对象版本 或 对象的所有版本执行操作:
要让 mc retention set 对对象的特定版本执行操作, 请包含 --version-id 参数:
要让 mc retention set 对对象的 所有 版本执行操作, 请包含 --versions 参数:
与 legal hold 的交互
锁定对象会阻止对该对象进行任何修改或删除, 与 COMPLIANCE 对象锁定模式类似。 对象可以同时具有基于保留的锁和 legal hold 锁。
legal hold 锁会 覆盖 任何保留锁定,这意味着处于 legal hold 下的对象 即使保留期到期也会保持锁定。对处于 legal hold 下对象的保留设置进行设置、 修改或清除,在 legal hold 到期或被显式禁用之前均不会生效。
有关对象 legal hold 的更多信息,请参见 mc legalhold。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
16 - mc share download
语法
mc share download 命令会生成一个临时的预签名 URL,并集成访问凭证, 用于从 MinIO 存储桶下载对象。该临时 URL 会在可配置的时间限制后过期。
- 应用程序可以通过执行
GET从该 URL 获取对象。 - 用户可以在浏览器中打开该 URL 下载对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 关于 Pre-Signed URLs.
以下命令会为 myminio MinIO 部署中的 mydata 存储桶生成一个新的预签名下载 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要为其生成下载 URL 的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
如果指定的是存储桶路径或存储桶前缀路径,则 必须 同时指定 --recursive 参数。例如:
--expire, E
mc-cmd
Optional
为所有生成的 URL 设置过期时间限制。
指定一个格式为 ##h##m##s 的字符串。例如:12h34m56s 表示 URL 生成后 12 小时 34 分 56 秒过期。
默认为 168h,即 168 小时(7 天)。
--recursive, r
mc-cmd
Optional
递归地为 mc share download ALIAS 存储桶或存储桶前缀中的所有对象生成 URL。
如果任一 ALIAS 指向存储桶路径或存储桶前缀路径,则此参数为必需。
--version-id, vid
mc-cmd
Optional
指示 mc share download 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
生成用于下载对象的 URL
使用 mc share download 为对象生成支持 GET 请求的 URL:
使用 mc share download 并结合 --recursive 选项,可为存储桶中的每个对象生成一个 URL。 每个 URL 都支持对其关联对象执行 GET 请求:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
17 - mc support callhome
描述
mc support callhome 命令用于启用或禁用将部署诊断信息发送到 MinIO SUBNET。
所有 mc support 命令都需要有效的 SUBNET 订阅。
启用后,MinIO 会将诊断信息发送到 SUBNET。
无论注册状态如何,MinIO 默认禁用此功能。 你必须显式启用 callhome 功能,信息上传才会开始。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support callhome enable
mc-cmd
开始将部署的诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --logs 和 --diag 标志,并将在未来版本中移除。
mc support callhome disable
mc-cmd
停止将部署的诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --logs 和 --diag 标志,并将在未来版本中移除。
mc support callhome status
mc-cmd
输出某个部署当前是否将诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --diag 标志,并将在未来版本中移除。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--diag
mc-cmd
Optional
说明
SUBNET 不再支持此选项,并将在未来版本中移除。
每 24 小时向 SUBNET 发送部署诊断信息,或停止发送。
示例
启用 callhome 上报
为已注册到 SUBNET 且 alias 为 minio1 的部署启用向 SUBNET 发送诊断信息。
禁用 callhome 上报
为已注册到 SUBNET 且 alias 为 minio1 的部署禁用向 SUBNET 发送诊断信息。
显示当前 callhome 设置
显示别名为 minio1 的部署是否向 SUBNET 发送信息。
全局标志
此命令支持 全局标志 中的任意选项。
18 - mc support top api
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top api 命令用于汇总 MinIO 部署服务器上的实时 API 事件。
以下命令显示 alias myminio 上当前正在进行的 S3 API 调用。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应在其上运行的 alias、前缀或对象完整路径。 该路径至少必须包含一个 ALIAS。
--name
mc-cmd
Optional
输出与输入字符串匹配的当前 API 调用摘要。
--path
mc-cmd
Optional
输出指定路径的当前 API 调用摘要。
--node
mc-cmd
Optional
输出匹配服务器上的当前 API 调用摘要。
--errors, -e
mc-cmd
Optional
输出返回错误的当前 API 调用摘要。
全局参数
此命令支持 全局标志 中的任意选项。
示例
显示当前所有正在进行的 S3 API 调用
以下命令显示 myminio 部署中所有正在进行的 S3 API 调用:
显示当前正在进行的 s3.PutObject 调用
以下命令显示 myminio 部署中所有正在进行的 s3.PutObject 调用:
19 - mc tag set
语法
mc tag set 命令可为存储桶或对象设置一个或多个标签。
MinIO 支持为对象最多添加 10 个自定义标签。
以下命令为 myminio MinIO 部署中的 mydata 存储桶设置标签:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag set --version-id 与多个参数互斥。更多信息请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要应用标签的对象完整路径(例如存储桶和对象路径)。例如:
TAGS
mc-cmd
Required
使用与号(&)分隔的键值对(KEY=VALUE)列表,其中每一对表示要分配给对象的一个标签。例如:
--exclude-folders
mc-cmd
Optional
新增: RELEASE.2024-01-11T05-49-32Z
与 --recursive 一起使用时,mc tag set 将 不会 遍历子前缀。 标签仅应用于指定路径下的对象。 需要 --recursive。
以下示例将 destination=international 标签应用到 vacation-photos/cancun/ 下的对象,但不应用到 vacation-photos/cancun/ocean/ 或其他前缀。
例如,上述命令会将标签添加到 vacation-photos/cancun/pretty-beach.jpg,但不会添加到 vacation-photos/cancun/ocean/tropical-fish.jpg。
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归地将标签应用到 ALIAS 指定路径下的所有对象。
--rewind
mc-cmd
Optional
指示 mc tag set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag set 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可将标签应用到某个特定时间点存在的所有对象版本。
--version-id, --vid
mc-cmd
Optional
指示 mc tag set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
将标签应用到存储桶或对象
使用 mc tag set 将标签应用到存储桶或对象:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
PATH替换为 MinIO 部署中存储桶 或对象的路径。 - 将
TAGS替换为一个或多个用与号分隔(&)的键值对, 每个键值对表示一个标签及其对应值。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
20 - mc version enable
语法
mc version enable 命令用于为指定存储桶启用版本控制。
以下命令为 myminio MinIO 部署中的 mybucket 存储桶启用版本控制:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 与要启用版本控制的存储桶完整路径。例如:
--exclude-folders
mc-cmd
Optional
在指定存储桶中,对所有文件夹(名称以 / 结尾的对象)禁用版本控制。
--excluded-prefixes
mc-cmd
Optional
对匹配前缀列表的对象禁用版本控制,最多支持 10 个前缀。 前缀列表会匹配前缀或名称中包含指定字符串的所有对象,类似 prefix* 形式的正则表达式。 如果仅按前缀匹配对象,请使用 prefix/*。
例如,以下命令将前缀或名称中包含 _test 或 _temp 的对象排除在版本控制之外:
全局标志
此命令支持 全局标志 中的任意选项。
示例
启用存储桶版本控制
使用 mc version enable 为存储桶启用版本控制:
行为
现有数据的存储桶版本控制
在包含现有数据的存储桶上启用版本控制后,会立即为每个未版本化对象创建值为 NULL 的版本 ID。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
21 - Silo 客户端设置
本页面介绍 MinIO Client 的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
设置
主机凭证
使用此设置可为 mc 命令添加一个临时别名。 例如,可用于脚本场景。
该临时别名使用 AWS s3v4 signature。
此设置没有对应的配置项。
使用 mc alias set 配置 alias。
示例
静态凭证
Security Token Service (STS) 凭证
STS 服务
新增: mc
RELEASE.2023-11-06T04-19-23Z
使用此设置可添加一个用于 mc 命令的 STS endpoint。
变更: mc
RELEASE.2023-12-02T02-03-28Z
支持按 alias 添加多个环境变量。
Web Token Identity
新增: mc
RELEASE.2023-11-06T04-19-23Z
使用此设置可添加一个用于 mc 命令的 Web Token Identity。
变更: mc
RELEASE.2023-12-02T02-03-28Z
支持按 alias 添加多个环境变量。
配置目录
指定 MinIO Client 应使用的配置目录路径。
MC_CONFIG_DIR
envvar
此设置没有对应的配置项。
进度条
禁用 MinIO Client 进度条。
MC_QUIET
envvar
此设置没有对应的配置项。
Pager
新增: mc
RELEASE.2024-04-29T09-56-05Z
在 CLI 中禁用 MinIO Client 的分页器功能。 使用该设置后,输出将改为直接打印到原始 STDOUT。
MC_DISABLE_PAGER
envvar
此设置没有对应的配置项。
颜色主题
禁用 MinIO Client 输出使用的颜色主题。
MC_NO_COLOR
envvar
此设置没有对应的配置项。
JSON
启用将输出格式化为 JSON lines。
MC_JSON
envvar
此设置没有对应的配置项。
调试
启用调试输出。
MC_DEBUG
envvar
此设置没有对应的配置项。
禁用 SSL
禁用 SSL 证书校验。
MC_INSECURE
envvar
此设置没有对应的配置项。
限制下载带宽
限制 MinIO Client 在某些命令中使用的下载带宽。
MC_LIMIT_DOWNLOAD
envvar
此设置没有对应的配置项。
若未指定,MinIO Client 使用全部可用带宽。
将客户端侧下载速率限制为不超过指定值(KiB/s、MiB/s 或 GiB/s)。该设置仅影响运行 MinIO Client 的本地设备发起的下载。支持的单位包括:
- B 表示 bytes
- K 表示 kilobytes
- M 表示 megabytes
- G 表示 gigabytes
- Ki 表示 kibibytes
- Mi 表示 mibibytes
- Gi 表示 gibibytes
例如,要将下载速率限制为不超过 1 GiB/s,可在 Linux 系统上使用以下命令:
在非 Linux 系统上,请参考你的操作系统文档使用等效命令。
限制上传带宽
限制 MinIO Client 在某些命令中使用的上传带宽。
MC_LIMIT_UPLOAD
envvar
此设置没有对应的配置项。
若未指定,MinIO Client 使用全部可用带宽。
将客户端侧上传速率限制为不超过指定值(KiB/s、MiB/s 或 GiB/s)。该设置仅影响运行 MinIO Client 的本地设备发起的上传。支持的单位包括:
- B 表示 bytes
- K 表示 kilobytes
- M 表示 megabytes
- G 表示 gigabytes
- Ki 表示 kibibytes
- Mi 表示 mibibytes
- Gi 表示 gibibytes
例如,要将上传速率限制为不超过 1 GiB/s,可在 Linux 系统上使用以下命令:
在非 Linux 系统上,请参考你的操作系统文档使用等效命令。
SSE-KMS 加密
使用服务端管理密钥通过 SSE-KMS 对选项进行加密和解密。
此设置没有对应的配置项。
SSE-S3 加密
使用服务端管理密钥通过 SSE-KMS 对选项进行加密和解密。
此设置没有对应的配置项。
22 - mc alias
说明
mc alias 命令提供了一个便捷接口,用于管理 mc 可连接并执行操作的 S3 兼容主机列表。
重要
对 S3 兼容服务执行操作的 mc 命令 必须 为该服务指定一个别名。
子命令
mc alias 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
23 - mc alias remove
语法
mc alias remove 从本地 mc 配置中移除一个已存在的别名。
以下命令会从主机上移除 MinIO 部署的 myminio alias:
mc alias remove 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 要从本地 mc 配置中移除的别名。
全局参数
此命令支持 全局标志 中的任意选项。
示例
从 mc 配置中移除别名
使用 mc alias remove 从 mc 配置中移除一个已存在的别名:
以下命令会移除 myminio 别名。
将 ALIAS 替换为要移除的别名名称。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
24 - mc anonymous get
语法
mc anonymous get 命令用于获取存储桶的匿名(即未认证或公共)访问 策略。
配置了匿名策略的存储桶允许客户端在无需 身份验证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
要获取分配给存储桶的 JSON 策略,请使用 mc anonymous get-json 命令。
以下命令检索 myminio MinIO 部署上 mydata 存储桶的匿名访问策略:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 命令要检索其匿名存储桶策略的存储桶或存储桶前缀完整路径。
指定 MinIO 或其他 S3 兼容服务的 别名,以及存储桶或存储桶前缀的 完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶匿名策略
使用 mc anonymous get 获取存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
25 - mc batch describe
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch describe 命令会输出指定作业 ID 的作业定义。
必须指定作业 ID。 要查找作业 ID,请使用 mc batch list。
以下命令会输出标识为 KwSysDpxcBU9FNhGkn2dCf 的作业定义。
此命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
用于查找作业 ID 的 MinIO 部署 alias。
JOBID
mc-cmd
Required
要描述的作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示进行中批处理作业的定义
以下命令会输出 alias myminio 上特定作业的完整作业定义:
- 将
myminio替换为应运行该作业的 MinIO 部署的alias。 - 将
KwSysDpxcBU9FNhGkn2dCf替换为要定义的作业 ID。
上述命令的输出类似如下:
注意,此示例已截断。 输出结果是指定作业的完整作业定义。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
你必须具有 admin:DescribeBatchJobs 权限,才能描述该部署上的作业。
26 - mc encrypt info
语法
mc encrypt info 命令返回存储桶当前的默认加密设置。
以下命令返回 myminio MinIO 部署上 mydata 存储桶的默认加密设置。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要检索其默认 SSE 模式的存储桶完整路径。 指定 MinIO 部署的 alias 作为 ALIAS 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶的自动服务端加密设置
- 将
ALIAS替换为要为其配置存储桶自动服务端加密的 MinIO 部署 alias。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
27 - mc event ls
语法
mc event ls 命令列出某个存储桶的所有事件通知触发器。
别名 mc event list 与 mc event ls 功能等效。
以下命令列出 myminio MinIO 部署中 mydata 存储桶、指定 bucket notification target 的所有已配置事件通知:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
命令要列出事件通知的 S3 服务 alias 和存储桶。 例如:
ARN
mc-cmd
Required
存储桶资源的 Amazon Resource Name (ARN)。
MinIO 服务器在启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶上的事件通知
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
28 - mc idp ldap accesskey edit
说明
mc idp ldap accesskey edit 在本地服务器上修改指定的 access key。
以下示例在
minio部署上修改 access keymykey的 secret:
命令语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的 access key。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要删除的已配置 access key。
--description
mc-cmd
Optional
为服务账户添加描述。 例如,可说明该 access key 的用途。
--expiry
mc-cmd
Optional
access key 的过期日期。 请输入 YYYY-MM-DD 格式的日期。
例如,要让凭证在 2024 年 12 月 31 日后过期,输入 2024-12-31。
与 --expiry-duration 互斥。
--expiry-duration
mc-cmd
Optional
access key 保持有效的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--name
mc-cmd
Optional
账号的人类可读名称。
--policy
mc-cmd
Optional
账号使用的 JSON 格式策略文件路径。
如果未指定,账号将使用与已认证用户相同的策略。
--secret-key
mc-cmd
Optional
账号使用的 secret。
示例
修改 access key 的 secret
在 minio 部署上修改 access key mykey 的 secret。
修改 access key 的过期时长
在 minio 部署上修改 access key mykey 的过期时长。
全局参数
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
29 - mc idp ldap disable
描述
mc idp ldap disable 命令用于禁用当前已配置的 AD/LDAP 提供程序。
以下示例会在 myminio 部署上禁用 AD/LDAP 配置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以禁用 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要禁用 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
30 - mc idp ldap policy detach
描述
mc idp ldap policy detach 命令可从实体分离一个或多个策略。
以下示例从 myminio 部署中的用户 bobfisher 分离策略 userpolicy。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
将
POLICYNAME替换为要从实体分离的策略。 你可以列出多个要从实体分离的策略。 -
必须在
--user或--group标志中二选一。 每个命令中只能使用一次该标志。 不能在同一命令中同时使用这两个标志。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
包含待分离策略实体的 MinIO 部署 alias。
例如:
示例
以下示例从 myminio 部署中的 projectb 组分离两个策略 policy1 和 policy2:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
31 - mc ilm rule
变更: RELEASE.2022-12-24T15-21-38Z
以下命令已移至 mc ilm rule 下的子命令:
描述
mc ilm rule 命令及其子命令用于配置 MinIO 生命周期管理中对象在各存储层之间转换所使用的规则。
在使用此命令创建规则前,请先使用 mc ilm tier 及其子命令创建对象将要迁移到的其他对象存储位置对应的一个或多个存储层。
有关更多信息,请参阅 lifecycle management 概述。
子命令
mc ilm rule 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
权限
MinIO 要求具备以下权限,且权限范围应限定为创建生命周期管理规则的一个或多个存储桶。
例如,以下策略提供了在集群任意存储桶上配置对象转换生命周期管理规则的权限:
转换权限
对象转换生命周期管理规则在远端存储层上需要额外权限。具体而言, MinIO 要求远端存储层凭证提供读取、写入、列举和删除权限。
例如,如果远端存储层使用基于 AWS IAM 策略的访问控制, 则以下策略提供了对象迁入和迁出远端存储层所需的必要权限:
请根据 MinIO 分层写入对象的目标存储桶修改 Resource。
有关如何配置用户和权限以支持 MinIO 分层的完整信息,请参阅受支持分层目标的文档:
32 - mc ilm rule edit
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule edit 替代 mc ilm edit。
语法
mc ilm rule edit 命令用于修改 MinIO 存储桶上现有的对象生命周期管理规则。
以下命令用于修改 myminio 部署上 mydata 存储桶的现有生命周期管理规则:
该命令按如下方式修改指定规则:
- 删除超过 90 天的对象。
- 如果对象没有其他剩余版本,则删除
DeleteMarker墓碑标记。 - 将超过 30 天的对象迁移到
COLDTIER远程层。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改对象生命周期管理规则的 MinIO 部署中,存储桶的 alias 和完整路径。 例如:
--id
mc-cmd
Required
规则的唯一 ID。使用 mc ilm rule ls 列出存储桶规则,并获取要修改规则的 id。
--disable
mc-cmd
Optional
停用该规则,但保留该规则以供后续使用。 当规则被禁用时,对象不会迁移或过期。
--enable
mc-cmd
Optional
启用规则以迁移或使对象过期。
--prefix
mc-cmd
Optional
将管理规则限制为特定的存储桶前缀。
例如:
该命令会修改一条规则:对于 myminio ALIAS 中 mydata 存储桶内前缀为 meetingnotes/ 的任意对象,在 90 天后过期。
--expire-all-object-versions
mc-cmd
Optional
新增: mc
RELEASE.2024-02-24T01-33-20Z
使对象的所有当前版本和非当前版本都过期。 与 --expire-days 选项结合使用,可指定扫描器进程在多少天后删除对象的所有版本。
在 scanner 处理该命令后,部署中不会保留该对象的任何版本。
新增: MinIO
RELEASE.2024-05-01T01-11-10Z
该标志 仅 适用于最新版本 不 是 delete marker 的对象。
--expire-days
mc-cmd
Optional
对象创建后保留的天数。达到指定天数后,MinIO 会将对象标记为待删除。
使用该选项时请谨慎,其行为可能导致已上传对象立即过期。任何在指定过期日期 之后 创建的对象都会自动满足过期条件。同样地,若指定的日历日期 早于 当前系统主机时间, 该规则覆盖的所有对象都会被标记为删除。指定日历日期过后,请考虑立即移除使用该选项的 ILM 规则。
对于启用版本控制的存储桶,过期规则仅适用于 当前 对象版本。使用 --noncurrent-expire-days 选项 可将过期行为应用于非当前对象版本。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
与以下选项互斥:
--expire-delete-marker
mc-cmd
Optional
指定该选项可让 MinIO 删除没有剩余对象版本的对象的 delete marker。 具体来说,delete marker 是给定对象 唯一 剩余的“版本”。
该选项与以下选项互斥:
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器 和 对象删除。
--noncurrent-expire-days
mc-cmd
Optional
对象版本变为 non-current(即该对象的另一个版本成为当前 HEAD)后保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
该选项的行为与 S3 NoncurrentVersionExpiration 操作一致。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--noncurrent-expire-newer
mc-cmd
Optional
在应用过期前要保留的对象 non-current 版本数量。 超出指定数量的较旧 non-current 版本会过期。
默认情况下,当过期规则生效时,MinIO 不保留任何 non-current 版本。
--noncurrent-transition-days
mc-cmd
Optional
对象处于 non-current 状态(即被该对象更新版本替换)后经过多少天, MinIO 将该对象版本标记为可迁移。系统主机时间到达该日历日期后, MinIO 会将对象迁移到 --transition-tier 指定的 远程存储层。
该选项对未启用版本控制的存储桶无效。需要指定 --noncurrent-transition-tier。
该选项的行为与 S3 NoncurrentVersionTransition 操作一致。
如果远程层是另一个 MinIO 部署,可将值设置为 0,使新对象立即满足迁移到远程层的条件。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--noncurrent-transition-tier
mc-cmd
Optional
MinIO transitions noncurrent objects versions 所使用的远程存储层。 指定一个通过 mc ilm tier add 创建的远程存储层。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 MinIO 会继续将存储在旧远程层上的对象请求路由到旧远程层。
--tags
mc-cmd
Optional
一个或多个以 & 分隔的键值对,用于描述要应用生命周期配置规则的对象标签。
该选项与以下选项互斥:
--transition-days
mc-cmd
Optional
对象创建后经过多少个日历天,MinIO 会将对象标记为可迁移。 MinIO 会将对象迁移到 --transition-tier 指定的远程存储层。 以整数指定天数,例如 30 表示 30 天。 如果远程层是另一个 MinIO 部署,可将值设置为 0,使新对象立即满足迁移到远程层的条件。
对于启用版本控制的存储桶,迁移规则仅适用于 当前 对象版本。使用 --noncurrent-transition-days 选项 可将迁移行为应用于非当前对象版本。
需要指定 --transition-tier。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--transition-tier
mc-cmd
Optional
MinIO transition objects 所使用的远程存储层。 指定一个通过 mc ilm tier add 创建的远程存储层。
如果指定 --transition-days,则该选项必填。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 MinIO 会继续将存储在旧远程层上的对象请求路由到旧远程层。
全局参数
此命令支持 全局标志 中的任意选项。
示例
修改现有生命周期管理规则
使用带有 --id 的 mc ilm rule edit 修改现有对象过期规则:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。 - 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 指定任意附加标志以新增或修改生命周期管理规则。 例如,指定
--transition-days以覆盖该规则现有的迁移天数值。
禁用生命周期管理规则
使用带有 --disable 的 mc ilm rule edit 停止使用现有管理规则。
- 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 将
myminio替换为规则所在部署的 ALIAS。 - 将
mybucket替换为规则对应的存储桶。
所需权限
有关编辑规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
33 - mc ilm tier check
描述
mc ilm tier check 命令用于显示某个部署上远程层的配置。
语法
该命令具有以下语法:
以下示例显示 myminio 部署上名为 WARM-TIER 的现有远程层配置。
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层存在于该部署上。
TIER_NAME
mc-cmd
Required
要显示的现有远程层名称。
必须 使用全大写指定该层,例如 WARM_TIER。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示现有层的配置
以下示例显示 myminio 部署上 WARM-TIER 层的配置。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层所需的权限,请参阅父命令中的 required permissions。
34 - mc legalhold info
语法
mc legalhold info 命令返回一个或多个对象的当前 legal hold 设置。
mc legalhold 要求 指定的存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关创建启用对象锁定的存储桶,请参阅 mc mb --with-lock 文档。
以下命令检索 myminio MinIO 部署中 mydata 存储桶内对象的当前 legal hold 状态:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO alias 以及要为其启用 legal hold 的对象路径(或多个对象路径)。例如:
--recursive, r
mc-cmd
Optional
返回 ALIAS 中存储桶或存储桶前缀下全部对象的 legal hold 状态。
--rewind
mc-cmd
Optional
指示 mc legalhold info 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold info 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局参数
此命令支持 全局标志 中的任意选项。
示例
获取对象的 Legal Hold 状态
使用 mc legalhold info 获取对象的 legal hold 状态。 添加 --recursive 以返回存储桶内容的 legal hold 状态:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的存储桶或对象路径。 如果指定的是存储桶路径或存储桶前缀,请包含--recursive选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
35 - mc license register
重要
mc license register 需要 MinIO Client RELEASE.2023-11-20T16-30-59Z 或更高版本。 虽非强制要求,但最佳实践是保持 MinIO 客户端版本 与 MinIO 服务端版本一致。
描述
mc license register 命令会将你的部署与 MinIO SUBNET 账户关联。
注册后,你可以使用 mc support diag 命令将部署健康报告直接上传到 SUBNET。
以下示例将
minioalias 注册到 MinIO SUBNET:
命令语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
用于无法访问 SUBNET 网络的环境(例如 airgapped、受防火墙限制或类似配置)。
说明请参见 airgap 示例。
如果部署处于 airgapped 环境,但你运行 minio client 的本地设备可以访问网络,则无需使用 --airgap 标志。
--api-key
mc-cmd
SUBNET 上账户的 API key。
对应环境变量 MC_SUBNET_API_KEY。
获取 API key 的步骤:
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 API Key 按钮
- 选择 key 字段右侧的复制按钮,将 key 值复制到剪贴板
--license
mc-cmd
Optional
用于注册部署的 license 文件路径。
你必须先从 MinIO SUBNET 下载该账户的 license 文件。
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 License 按钮
- 选择 license 字段右侧的复制按钮,将 key 值复制到剪贴板,或 选择 Download 按钮将 license 的 txt 文件保存到本地
--name
mc-cmd
Optional
指定一个不同于 alias 的名称,用于在 SUBNET 中关联该 MinIO 部署。
使用 --name <value>,将 <value> 替换为你希望在 SUBNET 上为该部署使用的名称。
示例
使用部署名称注册部署
将 alias 为 minio1 的 MinIO 部署注册到 SUBNET,并使用 minio1 作为部署名称:
如果尚未注册,系统会提示输入该部署的 SUBNET 凭证。
使用账户的 License 文件注册部署
将 alias 为 minio5 的新 MinIO 部署注册到 SUBNET,并使用为该账户下载的 license 文件:
如果尚未下载,你可以从 SUBNET 下载 license 文件。
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 License 按钮
- 选择 Download 按钮将 license 的 txt 文件保存到本地
使用不同的部署名称注册部署
将 alias 为 minio2 的 MinIO 部署注册到 SUBNET,并使用 second-deployment 作为名称:
在无法直接访问互联网时注册部署
将 alias 为 minio3 的 MinIO 部署注册到 SUBNET;该部署由于防火墙、airgap 或类似原因无法直接访问互联网。
变更: mc
RELEASE.2022-07-29T19-17-16Z
airgap 注册流程适用于 RELEASE.2022-07-29T19-17-16Z 或更高版本的 MinIO 客户端。 早期版本的 MinIO 客户端 无法注册 airgapped 部署。
-
运行命令,返回带有 token 的注册链接
-
在 Web 浏览器中打开复制的注册链接,并登录 SUBNET
-
选择部署 License 编号右侧的 ? 按钮
-
在弹窗中选择下载链接,并将 key 保存到你有访问权限的路径
-
在命令行中运行以下命令
将
<path-to-file>替换为你从 SUBNET 下载的文件路径。
语法
命令语法如下:
全局标志
此命令支持 全局标志 中的任意选项。
行为
自动更新 License
新增: RELEASE.2023-01-18T04-36-38Z
注册到 MinIO SUBNET 后,MinIO 会每月自动检查并更新 license。
在 airgapped 或其他服务器无法直接访问互联网的环境中,使用带文件路径的 mc license update 来更新注册。
36 - mc replicate backlog
变更: mc.RELEASE.2023-07-18T21-05-38Z
mc replicate diff 已重命名为 mc replicate backlog。 功能未发生变化。
描述
mc replicate backlog 显示尚未复制的新建或已删除对象列表。
你可以列出特定远程目标的对象复制状态。 为此,你必须具有该远程目标的 ARN。 你可以使用 检索为存储桶配置的远程目标 查找 ARN。
语法
以下命令显示 myminio 别名下 notes 存储桶中 teamorange/projects 前缀里尚未复制到特定远程目标存储桶的新建或已删除对象。 该远程目标的 ARN 为 arn:minio:replication::3bb8c736-4014-42c5-b3cb-d64e3ebaa75e:notes。
如果存在尚未复制的新建或已删除对象,命令输出类似如下:
在输出中,PUT 对应新建对象。 已删除对象或版本会显示为 DEL。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
指向别名、前缀或对象的路径。
arn
mc-cmd
Optional
远程存储桶的 ARN,用于检查尚未复制的新建或已删除对象。
指定后,该命令返回尚未复制到远程目标的所有新建或已删除对象列表。 未指定时,该命令返回源部署上尚未复制到任何远程目标的新建或已删除对象列表。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看某个前缀下对象的未复制版本
显示某个前缀下未复制的 PUT 和 DELETE 操作:
- 将
myminio/mybucket替换为ALIAS以及 需要创建复制配置的完整存储桶路径。 - 将
path/to/prefix替换为请求要使用的前缀或对象。
如果存在未复制对象,输出会返回一个操作列表,列出在该前缀下创建或删除对象且尚未复制到远程目标的操作:
查看特定远程目标上的未复制对象
以下 mc replicate backlog 命令显示特定远程目标在某个 alias/bucket/prefix 路径上的未复制对象:
- 将
myminio/mybucket替换为ALIAS以及 需要显示未复制对象的完整存储桶路径。 - 将
path/to/prefix替换为所需的前缀或对象路径。 - 将
<remote-arn>替换为特定远程目标的资源编号。
如果存在未复制对象,输出会返回一个操作列表,列出创建或删除对象且尚未复制到远程目标的操作:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
37 - mc retention info
语法
mc retention info 命令用于为对象或存储桶中的对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认对象锁定设置,未显式配置对象锁定的对象会继承该存储桶默认值。
如需基于 legal hold 锁定对象, 请使用 mc legalhold set。
mc retention info 要求 指定存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关创建启用对象锁定的存储桶,请参见 mc mb --with-lock 文档。
以下命令返回 myminio MinIO 部署中 mydata 存储桶的默认对象锁定配置:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention info --version-id 与多个其他参数互斥。 更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
要检索对象锁定配置的对象完整路径。 将已配置的 S3 兼容服务的 alias 作为 ALIAS 存储桶路径前缀。 例如:
-
如果
ALIAS指定的是存储桶或存储桶前缀,请添加--recursive,以返回该存储桶或前缀下所有对象的对象锁定设置。 -
如果
ALIAS存储桶已启用版本控制,mc retention info默认仅作用于对象的最新版本。 使用--version-id或--versions可返回特定版本或对象全部版本的对象锁定设置。
--default
mc-cmd
Optional
返回 ALIAS 指定存储桶的默认对象锁定设置。
如果指定 --default, mc retention info 会忽略所有其他标志。
--recursive, r
mc-cmd
Optional
递归返回指定 ALIAS 路径下所有对象的对象锁定设置。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention info 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc retention info 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
--versions
mc-cmd
Optional
指示 mc retention info 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --versions 和 --rewind,可检索某个特定时间点存在的所有对象版本的 保留设置。
全局标志
此命令支持 全局标志 中的任意选项。
示例
检索单个或多个对象的对象锁定设置
将 mc retention info 与 --recursive 一起使用,以检索存储桶中所有对象的保留设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
检索存储桶的默认对象锁定设置
将 mc retention info 与 --default 一起使用,以检索存储桶的默认对象锁定设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
38 - mc share upload
语法
mc share upload 命令会生成一个临时的预签名 URL,并集成用于将对象上传到 MinIO 存储桶的访问凭证。该临时 URL 会在可配置的时间限制后过期。
应用程序可以通过该 URL 执行 PUT 以上传对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 文档中的 Pre-Signed URLs。
以下命令会为 myminio MinIO 部署上的 mydata 存储桶生成一个新的预签名上传 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required MinIO 部署的 alias 以及要为其生成上传 URL 的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
如果指定的是存储桶路径或存储桶前缀路径,则你 必须 同时指定 --recursive 参数。例如:
--content-type, T
mc-cmd
Optional 将上传限制为仅接受带有特定 Content-Type 头的请求。
指定一个字符串作为可接受的 Content-Type 值。 例如,video/mp4。
配置后,使用该生成 URL 的客户端必须包含指定类型的 Content-Type 头。 MinIO 会拒绝未携带正确 Content-Type 头的请求。
Content types 也称为 media types。
--expire, E
mc-cmd
Optional 为所有生成的 URL 设置过期时限。
指定格式为 ##h##m##s 的字符串。例如: 12h34m56s 表示在 URL 生成后 12 小时 34 分 56 秒过期。
默认值为 168h,即 168 小时(7 天)。
--recursive, r
mc-cmd
Optional 修改 CURL URL 以支持将对象上传到存储桶或存储桶前缀。 如果任意 ALIAS 指定的是存储桶路径或存储桶前缀路径,则该选项为必需。修改后的 CURL 输出如下所示:
将 <FILE> 替换为要上传的文件路径。
将 <NAME> 替换为上传后的对象名称。 该名称可以包含 prefixes。
全局参数
此命令支持 全局标志 中的任意选项。
示例
生成用于上传对象的 URL
使用 mc share upload 生成一个支持 POST 请求的 URL, 用于将文件上传到 MinIO 部署上的特定对象位置:
使用 mc share upload 并结合 --recursive 与 --expire 选项,生成一个临时 URL, 该 URL 支持 POST 请求,用于将文件上传到 MinIO 部署上的存储桶:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
PATH替换为 MinIO 部署中的存储桶或存储桶前缀路径。 - 将
DURATION替换为 URL 过期前的时长。 例如,要设置 30 天过期时间,指定30d。
该命令会返回一个用于向指定存储桶前缀上传对象的 CURL 命令。
- 将返回的 CURL 命令中的
<FILE>字符串替换为要上传的文件路径。 - 将返回的 CURL 命令中的
<NAME>字符串替换为存储桶中的对象名称。 该名称可以包含 prefixes。
你可以使用 shell 脚本循环将文件系统目录中的内容递归上传到兼容 S3 的服务:
此示例会将 ~/Documents/photos/ 目录中的每个文件上传到 mybucket 存储桶下的 photos 前缀。 对于如何遍历目录中的文件,请遵循你所选脚本语言文档中的最佳实践。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
39 - mc support diag
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
用于创建诊断报告的命令会随版本演进而变化。
| MinIO Client Release | 命令 | 说明 |
|---|---|---|
| RELEASE.2022-02-13T23-26-13Z | mc support diag |
命令移动到 mc support |
| RELEASE.2020-11-17T00-39-14Z | mc admin subnet health |
命令改为 SUBNET 子命令 |
| RELEASE.2020-10-03T02-54-56Z | mc admin health |
命令重命名为 health |
| Original Command | mc admin obd |
命令重命名为 mc admin health |
描述
mc support diag 命令用于为 MinIO 部署生成健康报告。
对于已注册到 MinIO 订阅网络(SUBNET)的部署,该命令会生成并上传健康报告以供分析。 你也可以启用 callhome,将每 24 小时生成并上传报告的流程自动化。
生成的健康报告供 MinIO Engineering 通过 SUBNET 使用,可能包含内部或私有数据点。 在将健康报告发送给第三方或发布到公开论坛之前,请谨慎检查。
MinIO 建议在集群首次创建时执行健康诊断,并在出现故障场景时再次执行。
使用 mc support diag 命令触发诊断测试。 对于已注册 SUBNET 的集群,该命令会将结果作为 SUBNET 健康报告的一部分上传。
对于 airgapped、受防火墙限制或其他无法从部署直接访问网络的环境,可以使用 --airgap 标志将报告保存到本地。 保存后,你可以手动将测试结果上传到 SUBNET。
示例输出
gzip 压缩输出包含所请求的健康信息。
示例
为集群生成健康数据并自动上传到 SUBNET
为别名为 minio1 的 MinIO 集群生成健康数据,并自动传输到 SUBNET。
仅在使用商业许可证(Commerical License)的部署中才会自动上传数据。
为集群生成健康数据并手动上传
为别名为 minio2 的 MinIO 部署生成诊断报告,并保存以便手动上传到 SUBNET:
- 运行命令下载
.gzip文件 - 登录 https://subnet.min.io 并选择 Deployments 页面
- 选择该报告对应的部署
- 点击 Upload 按钮
- 拖放文件,或浏览到
.gzip文件所在位置进行上传
使用严格匿名化将数据上传到 SUBNET
为别名为 myminio 的 MinIO 集群生成健康数据,并对包括主机名在内的所有敏感数据进行匿名化。
语法
该命令语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
用于无法访问 SUBNET 网络的环境(例如 airgapped、受防火墙限制或类似配置)。 该参数会生成诊断报告并将其保存到运行命令时所在的位置。
你必须手动将报告上传到 SUBNET。
说明请参见 airgap 示例。
如果部署本身是 airgapped,但运行 minio client 的本地设备具备网络访问能力,则无需使用 --airgap 标志。
--anonymize
mc-cmd
新增: mc
RELEASE.2023-11-10T21-37-17Z
MinIO 会对上传到 SUBNET 的数据做匿名化处理。 从 mc RELEASE.2023-11-10T21-37-17Z 开始,MinIO 不会 匿名化主机名。 这是默认的 standard 匿名化模式。
可用值为 =strict 或 =standard。
若要匿名化包括主机名在内的全部数据,请将该参数设置为 strict 模式。
--api-key
mc-cmd
Optional
使用账户在 SUBNET 中的 API key 值。
仅在 airgapped 环境且 MinIO 尚未为该部署保存 API key 时才需要提供此值。
全局标志
此命令支持 全局标志 中的任意选项。
40 - mc support top locks
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top locks 命令列出 MinIO 部署中最旧的 10 个 锁。
该命令输出锁的存在时长、锁类型、所有者和资源。 输出类似如下:
以下命令显示 alias myminio 上当前进行中的 S3 API 调用。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应在其上运行的 alias 或前缀的完整路径。
--stale
mc-cmd
Optional
仅返回陈旧锁。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示 myminio 部署中最旧的 10 个锁
显示 myminio 部署中的陈旧锁
以下命令显示 myminio 部署中所有进行中的 s3.PutObject 调用:
41 - mc tag list
语法
mc tag list 命令列出存储桶或对象上的所有标签。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的标签:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag list --version-id 与多个参数互斥。更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要列出全部标签的对象完整路径 (例如存储桶和对象路径)。例如:
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归列出 ALIAS 指定路径下所有对象的标签。
--rewind
mc-cmd
Optional
指示 mc tag list 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag list 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 组合使用,可列出特定时间点存在的 所有对象版本的标签。
--version-id, vid
mc-cmd
Optional
指示 mc tag list 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶或对象的标签
使用 mc tag list 列出存储桶或对象的标签:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
42 - mc version info
语法
mc version info 命令返回指定存储桶的版本控制状态。
以下命令返回 myminio MinIO 部署中 mybucket 存储桶的版本控制状态:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要获取其版本控制状态的存储桶的完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶版本控制状态
使用 mc version info 获取存储桶的版本控制状态:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
43 - mc alias set
语法
mc alias set 命令用于在本地 mc 配置中添加或更新别名。
以下命令为运行在 URL https://myminio.example.net 的 MinIO 部署 myminio 添加一个 alias。mc 使用指定的用户名和密码对该 MinIO 部署进行身份验证:
如果 myminio 别名已存在,该命令会使用新的 URL、access key 和 secret key 覆盖该别名。
mc alias set 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 与 S3 兼容服务关联的名称。 别名区分大小写,且必须满足以下要求:
- 只能包含 ASCII 小写字母(
a-z)、大写字母(A-Z)、数字([0-9])、连字符(-)或下划线(_)。 - 长度为 2 个或更多字符。
- 首字符必须是字母。
变更: RELEASE.2024-01-11T05-49-32Z
别名也可以是单个字母(a-z 或 A-Z)。
部分有效别名示例如下:
myminioTest-1Aa
URL
mc-cmd
必填 S3 兼容服务端点的 URL。例如:
https://minio.example.net
ACCESSKEY
mc-cmd
必填
用于对 S3 服务进行身份验证的 access key。
SECRETKEY
mc-cmd
必填
用于对 S3 服务进行身份验证的 secret key。
--api
mc-cmd
可选
指定连接到 S3 兼容服务时使用的签名计算方法。支持以下值:
S3v4(默认)S3v2
说明
AWS 将 AWS Signature V2 视为 deprecated。 mc alias set 保留该选项,仅用于仍依赖 Signature V2 的 S3 存储桶或服务。
除非 S3 兼容服务明确要求,否则请使用 S3v4。 MinIO server 不依赖也不要求 S3v2,且并非所有 API 操作都可在 S3v2 上使用。
--path
mc-cmd
可选
指定服务端使用的存储桶路径查找设置。支持以下值:
"auto"(默认)"on""off"
全局标志
此命令支持 全局标志 中的任意选项。
示例
为 MinIO 部署添加或更新别名
使用 mc alias set 添加一个供 mc 使用的 S3 兼容服务:
以下命令创建一个新的别名 myminio,指向位于 https://minio.example.net 的 MinIO 部署。该别名使用 miniouser 和 miniopassword 凭据对该部署执行操作。
如果 myminio 别名已存在, mc alias set 命令会使用指定参数覆盖该别名。
- 将
ALIAS替换为与 MinIO 服务关联的名称。 - 将
HOSTNAME替换为 MinIO 部署中任意节点的 URL。你也可以指定 用于管理 MinIO 部署连接的负载均衡器或反向代理 URL。 - 将
ACCESSKEY和SECRETKEY替换为 MinIO 部署中某个用户的凭据。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需凭据与访问控制
mc alias set 要求为 S3 兼容主机指定 access key 及对应的 secret key。mc 的功能受指定凭据关联策略的限制。例如,如果 指定凭据对某个存储桶没有读写权限,mc 就无法对该存储桶执行读写操作。
有关 MinIO 访问控制的更多信息,请参阅 Access Management。
有关 S3 访问控制的更完整文档,请参阅 Amazon S3 Security.
对于其他所有 S3 兼容服务,请参考对应服务的文档。
证书
MinIO Client 会获取对端证书、计算公钥指纹,并询问用户是否接受该部署的证书。
如果被信任,MinIO Client 会自动将证书颁发机构添加到:
- Linux 和其他类 Unix 系统上的
~/.mc/certs/CAs/。 - Windows 系统上的
C:\Users\[username]\mc\certs\CAs\。
44 - mc anonymous
说明
mc anonymous 命令支持为存储桶及其内容设置或移除匿名 policies。 配置了匿名策略的存储桶允许公开访问,客户端无需进行 authentication 即可执行策略授予的任意操作。
子命令
mc anonymous 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
45 - mc anonymous list
语法
mc anonymous list 检索存储桶的所有匿名(即未经身份验证或公开)访问策略。
具有匿名策略的存储桶允许客户端在无需 身份验证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有匿名访问策略:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要检索其匿名存储桶策略的存储桶或存储桶前缀完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶的匿名策略
使用 mc anonymous list 列出存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
46 - mc batch generate
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch generate 命令会为指定作业类型创建一个基础的 YAML 格式模板文件。
MinIO 创建该文件后,请在你偏好的文本编辑器中打开并进一步自定义。 每个批处理文件中只能定义一个作业任务定义。
请参阅 job types 了解可生成的受支持作业。
以下命令会为 myminio 别名下 mybucket 存储桶上的 replicate 作业创建一个基础 YAML 文件。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于生成 YAML 模板文件的 alias。 指定的 alias 不会限制你可使用该生成文件的部署位置。
例如:
JOBTYPE
mc-cmd
Required
要生成 YAML 文档的作业类型。
支持以下取值:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为 Replicate 作业类型生成 yaml 文件
以下命令会为 replicate 类型批处理作业生成 YAML 蓝图,并将文件命名为 replicate,扩展名为 .yaml:
-
将
alias替换为用于生成 yaml 文件的alias。 -
将
replicate替换为要生成 yaml 文件的作业类型。mc batch支持replicate和keyrotate作业类型。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
作业类型
mc batch 当前支持以下作业任务类型:
-
在两个 MinIO 部署之间复制对象。 以批处理作业形式提供与 bucket replication 类似的功能,而不是持续扫描功能。
-
说明
新增: MinIO
RELEASE.2023-04-07T05-28-58Z
为 MinIO 部署中静态对象的 sse-s3 或 sse-kms 密钥执行轮换。
-
说明
新增: MinIO
RELEASE.2023-12-02T10-51-33Z
依据与 对象自动过期 类似的语义使对象过期。
replicate
你可以将以下示例配置作为构建自定义复制批处理作业的起点:
有关各个键更完整的文档,请参阅 复制批处理作业参考。
keyrotate
你可以将以下示例配置作为构建自定义密钥轮换批处理作业的起点:
有关各个键更完整的文档,请参阅 密钥轮换批处理作业参考。
expire
你可以将以下示例配置作为构建自定义过期批处理作业的起点:
有关各个键更完整的文档,请参阅 expire 批处理作业参考。
47 - mc encrypt set
语法
mc encrypt set 加密命令用于设置或更新存储桶默认的 服务端加密(SSE)模式。MinIO 会使用指定的 SSE 模式 自动加密写入该存储桶的对象。
mc encrypt set 仅支持 SSE-KMS 和 SSE-S3。
以下命令为 myminio MinIO 部署上的 mydata 存储桶设置默认的 SSE-KMS 加密密钥:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ENCRYPTION
mc-cmd
指定作为默认 SSE 模式的服务端加密类型。 支持以下取值:
sse-kms- 使用KMSKEY中指定的密钥 对对象加密。MinIO 必须能够访问外部 KMS 上指定的密钥,才能成功加密 或解密受 SSE-KMS 保护的对象。sse-s3- 使用MINIO_KMS_KES_KEY_NAME指定的密钥 对对象加密。MinIO 必须能够访问外部 KMS 上指定的密钥,才能成功加密 或解密受 SSE-S3 保护的对象。
KMSKEY
mc-cmd
指定用于执行 SSE 对象加密的 KMS Master Key。该选项仅在 ENCRYPTION 为 sse-kms 时生效。
省略该选项可让 MinIO 使用 MINIO_KMS_KES_KEY_NAME.
ALIAS
mc-cmd
要设置默认 SSE 模式的存储桶完整路径。将 MinIO 部署的 alias 作为 TARGET 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
启用自动服务端存储桶加密
- 将
ENCRYPTION替换为sse-kms或sse-s3,具体取决于 所需的加密模式。 - 将
KMSKEY替换为已配置 root KMS 中的加密密钥名称。 该参数对sse-s3无效。 - 将
TARGET替换为要配置自动服务端存储桶加密的 MinIO 部署 alias。
行为
mc encrypt set 不会对 MinIO 服务端当前的加密状态作任何假设。 如果指定了服务端无法支持的默认加密设置,可能导致非预期行为。
设置或修改默认服务端加密设置时,不会 自动加密或解密存储桶中已有内容。 如果存储桶内容 必须 保持一致的加密状态,请使用 mc mv 命令并结合 --enc-kms、--enc-s3 或 --enc-c 指定迁移内容使用的加密类型。 这会在更改存储桶默认设置 之前,手动修改存储桶内容的加密设置或加密状态。
48 - mc event rm
语法
mc event rm 命令用于从存储桶中移除事件通知触发器。
mc event remove 命令与 mc event rm 功能等效。
以下命令会在 myminio MinIO 部署的 mydata 存储桶上, 移除指定 bucket notification target 的已配置事件通知:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于移除事件通知的 S3 服务 alias 和存储桶。 例如:
ARN
mc-cmd
Required
通知目标的 Amazon Resource Name (ARN)。
MinIO 服务器在启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
可在存储桶上运行 mc event ls 获取 ARN。
--event
mc-cmd
Optional
添加事件时指定的事件类型。 这些条目 必须 与添加事件时使用的值一致。 如果没有事件与事件类型列表匹配,命令将返回 no notification configuration matched 错误。
使用逗号 , 分隔可指定多个事件。 支持的事件类型请参见 支持的存储桶事件。
默认移除 ALIAS 存储桶中、与 ARN 通知目标关联且对所有事件类型触发的事件。
可通过在存储桶上运行 mc event ls 获取所使用的事件类型。 使用下表将命令输出中的事件类型转换为 mc event rm 命令所需的条目:
mv event ls 的输出 |
要使用的事件类型 |
|---|---|
s3:objectAccessed |
get |
s3:objectCreated |
put |
s3:objectRemoved |
delete |
例如,如果 mc event ls 返回如下内容:
使用以下命令移除该事件:
事件类型的顺序无关紧要,只需包含与该事件中已有类型相同的条目即可。
--force
mc-cmd
Optional
移除 ALIAS 存储桶中与 ARN 通知目标关联的所有事件。
--prefix
mc-cmd
Optional
命令移除存储桶通知时使用的存储桶前缀。
例如,若 ALIAS 为 play/mybucket,且 --prefix 为 photos,则命令仅移除 play/mybucket/photos.
--suffix
mc-cmd
Optional
命令移除存储桶通知时使用的存储桶后缀。
例如,若 ALIAS 为 play/mybucket,且 --suffix 为 .jpg,则命令仅移除 play/mybucket/*.jpg.
全局标志
此命令支持 全局标志 中的任意选项。
示例
从存储桶中移除事件通知
以下命令会移除某个存储桶上的所有事件通知触发器。 该命令假设 MinIO 部署中至少配置了一个 bucket notification target:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
49 - mc idp ldap accesskey enable
描述
mc idp ldap accesskey enable 在本地服务器上启用指定的 access key。
以下示例启用
minio部署中的 access keymykey:
该命令具有以下语法:
-
将
ALIAS替换为配置了 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要启用的 access key。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
配置了 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要启用的已配置 access key。
示例
启用 minio 部署中的 access key mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
50 - mc idp ldap enable
描述
mc idp ldap enable 命令用于启用当前已配置的 AD/LDAP 提供程序。
以下示例在 myminio 部署上启用 AD/LDAP 配置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以启用 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要启用 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
51 - mc idp ldap policy entities
说明
mc idp ldap policy entities 命令显示用户、组和/或策略的映射关系列表。
以下示例列出 myminio 部署中某个特定策略、一组用户组以及部分用户的所有映射关系。
具体包括:
- 映射到
finteam-policy策略的用户。 - 分配给
uid=bobfisher,ou=people,ou=hwengg,dc=min,dc=io用户的策略。 - 分配给
cn=projectb,ou=groups,ou=swengg,dc=min,dc=io组的策略。
命令语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
在命令中可按需多次使用
--user、--group和/或--policy标志。 -
对于每个标志,输出会列出映射到指定策略、用户或组的实体。
-
省略所有标志将返回所有策略的映射关系列表。
-
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要显示实体映射关系的 MinIO 部署 alias。
例如:
--group
mc-cmd
Optional
返回与指定组关联的用户和策略列表。 重复此标志可返回多个组的列表。
--policies
mc-cmd
Optional
返回与指定策略关联的用户和组列表。 重复此标志可返回多个策略的列表。
--user
mc-cmd
Optional
返回该用户所属的组列表,以及与每个组关联的策略。 输出仅包含已分配策略的组。
重复此标志可返回多个用户的列表。
示例
以下示例列出 myminio 部署中映射到两个策略 policy1 和 policy2 的实体,以及映射到 projectb 组的实体:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
52 - mc ilm rule export
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule export 替代 mc ilm export。
语法
mc ilm rule export 命令用于导出 MinIO 存储桶的对象生命周期管理配置。
mc ilm rule export 命令默认输出到 STDOUT。 你可以将内容输出到 .json 文件中进行归档,或使用 mc ilm rule import 导入。
以下命令将 myminio 部署上 mydata 存储桶的生命周期管理配置 导出到 mydata-lifecycle-config.json 文件:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要导出对象生命周期管理规则的 MinIO 部署中存储桶的 alias 和完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导出存储桶生命周期管理配置
以下命令将存储桶生命周期管理配置导出到 bucket-lifecycle.json 文件:
-
将
ALIAS替换为 MinIO 部署的 alias 以及要导出对象生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为用于导出生命周期管理规则的文件名。
所需权限
有关导出规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
53 - mc ilm tier
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier replaces mc admin tier.
说明
mc ilm tier 命令及其子命令用于为 MinIO 的 生命周期管理:对象过渡(“分层”) 配置受支持的远程 S3 兼容服务。
使用此命令创建一个或多个层后,可使用 mc ilm rule 及其子命令创建将对象迁移到其他存储的规则。
有关更多信息,请参阅 生命周期管理 概述。
子命令
mc ilm tier 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
所需权限
要为对象过渡创建层,MinIO 要求在集群上具有以下管理权限:
例如,以下策略提供了足够的权限,可为集群中的任意存储桶配置对象过渡生命周期管理规则:
过渡权限
对象过渡生命周期管理规则要求远程存储层具备额外权限。 具体而言,MinIO 要求远程层凭证提供读取、写入、列出和删除权限。
例如,如果远程存储层使用基于 AWS IAM 策略的访问控制,则以下策略提供了对象迁入和迁出远程层所需的权限:
请将 Resource 修改为 MinIO 用于对象分层的目标存储桶。
避免在远程层启用版本控制
MinIO 强烈建议不要为远程层启用存储桶版本控制。 如果远程层存储桶启用了版本控制,则每个源对象版本都会过渡为远程层中的一个 唯一对象。
如果你的环境要求远程层启用版本控制,则还必须允许 s3:DeleteObjectVersion 权限。
有关如何配置用户和权限以支持 MinIO 分层的更完整信息,请参阅受支持分层目标的相关文档:
54 - mc ilm tier info
描述
mc ilm tier info 命令可输出某个层级或某个部署上所有层级的统计信息。
所需权限
MinIO 要求具备以下权限,且权限范围限定为你要创建生命周期管理规则的一个或多个存储桶。
此外,在为对象转换生命周期管理规则创建远程层级时,MinIO 还要求在对应集群上具备以下管理权限:
例如,以下策略授予在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
该命令的语法如下:
以下示例输出 myminio 部署上名为 WARM-TIER 的现有远程层级的配置信息。
该命令的语法如下:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层级存在于该部署上。
TIER_NAME
mc-cmd
Optional
要显示的现有远程层级名称。
你 必须 使用全大写指定层级,例如 WARM_TIER。
如果未指定,MinIO 会列出该部署上所有现有层级的统计信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示现有层级的统计信息
以下示例显示 myminio 部署上 WARM-TIER 层级的统计信息。
显示部署上所有现有层级的统计信息
以下示例显示 myminio 部署上所有现有层级的统计信息。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层级所需的权限,请参阅父命令中的 required permissions。
55 - mc legalhold set
语法
mc legalhold set 命令可在单个或多个对象上启用 legal hold 的一次写入多次读取(WORM)对象锁定。
mc legalhold 要求 指定的存储桶已 启用对象锁定。你 只能 在创建存储桶时启用对象锁定。 有关创建已启用对象锁定的存储桶,请参见 mc mb --with-lock 文档。
以下命令会在 myminio MinIO 部署中,对 mydata 存储桶内所有现有对象启用 legalhold WORM 锁定:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 别名,以及要启用 legal hold 的对象路径(可为单个或多个对象)。 例如:
--recursive, r
mc-cmd
Optional
将 legal hold 应用于 ALIAS 指定存储桶或存储桶前缀下的 所有现有对象。
--recursive 仅作用于现有对象
若要为后续新建对象启用 legal hold,请在有新对象创建后周期性重复执行 mc legalhold 命令。
--rewind
mc-cmd
Optional
指示 mc legalhold set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
使用 mc legalhold set 为对象启用 legal hold:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的存储桶或对象路径。 如果指定的是存储桶或存储桶前缀路径,请包含--recursive选项。
行为
Legal Hold 需要显式移除
Legal hold 没有期限,并会对被锁定对象强制执行完全不可变。 只有具备 s3:PutObjectLegalHold 权限的特权用户才能设置或解除 legal hold。
Legal Hold 与其他保留模式互补
Legal hold 与 GOVERNANCE 模式 和 COMPLIANCE 模式 保留设置互补。若对象同时受 legal hold 和 GOVERNANCE/COMPLIANCE 保留规则约束,则在 legal hold 被解除且规则到期之前, 该对象会一直保持 WORM 锁定。
对于 GOVERNANCE 锁定对象,legal hold 会阻止对象被修改, 即使 用户具备绕过保留策略所需的权限也是如此。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
56 - mc license update
描述
使用 mc license update 命令为部署替换许可证密钥。
对于已在 MinIO SUBNET 注册的部署,MinIO 每月会自动检查并更新许可证。
示例
更新别名为 minio1 的部署许可证密钥
语法
该命令具有以下语法:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
LICENSE-FILE-WITH-PATH
mc-cmd
Optional
用于更新部署许可证的密钥文件路径(相对于当前工作目录)和文件名。
从 SUBNET 下载 API key:
- 登录 MinIO SUBNET
- 转到 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 API Key 按钮
- 选择 key 字段右侧的复制按钮,将 key 值复制到剪贴板
--airgap
mc-cmd
Optional
在无法通过网络访问 SUBNET 的环境中使用(例如 airgapped、firewalled 或类似配置)。
如果部署是 airgapped,但你使用 minio client 的本地设备有网络访问能力,则无需使用 --airgap 标志。
全局标志
此命令支持 全局标志 中的任意选项。
57 - mc replicate ls
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate ls 替代 mc admin bucket remote ls 命令。
语法
mc replicate ls 命令列出 MinIO 存储桶上的所有 复制规则。
mc replicate list 命令与 mc replicate ls 功能等价。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有已启用复制规则:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要列出复制规则的 存储桶或存储桶前缀的完整路径。例如:
--status
mc-cmd
Optional
按状态筛选存储桶上的复制规则。 指定以下值之一:
enabled- 仅显示已启用的复制规则。disabled- 仅显示已禁用的复制规则。
如果省略,mc replicate ls 默认显示所有复制规则。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出现有复制规则
使用 mc replicate ls 列出存储桶复制规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
58 - mc retention clear
语法
mc retention clear 命令可移除存储桶中一个或多个对象的 Write-Once Read-Many (WORM) locking 设置。 你还可以移除存储桶的默认对象锁定设置。
要更改处于 legal hold 状态的对象的 保留状态,请使用 mc legalhold clear。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶的默认对象锁定配置:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention clear --version-id 与多个其他参数互斥。更多信息请参阅 参考文档。
参数
ALIAS
mc-cmd
Required
要清除对象锁定配置的对象或对象集合的完整路径。将已配置的 S3 兼容服务 alias 作为 ALIAS 存储桶路径前缀。例如:
-
如果
ALIAS指定的是存储桶或存储桶前缀,请添加--recursive,以清除存储桶内容的对象锁定设置。 -
如果
ALIAS存储桶已启用版本控制,mc retention clear默认仅作用于最新对象版本。使用
--version-id或--versions,可清除某个特定版本或对象所有版本的 对象锁定设置。
--default
mc-cmd
Optional
清除 ALIAS 指定存储桶的默认对象锁定设置。
如果指定 --default, mc retention clear 会忽略所有其他 flag。
--recursive, r
mc-cmd
Optional
递归清除指定 ALIAS 路径下所有对象的对象锁定设置。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention clear 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc retention clear 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一 flag 互斥:
--versions
mc-cmd
Optional
指示 mc retention clear 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 组合使用,可移除在特定时间点存在的 所有对象版本的保留设置。
全局标志
此命令支持 全局标志 中的任意选项。
示例
清除单个或多个对象的对象锁定设置
将 mc retention clear 与 --recursive 配合使用,可清除存储桶中所有对象的 保留设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
59 - mc share ls
语法
mc share ls 命令会显示由 mc share upload 或 mc share download 生成的所有未过期预签名 URL。
mc share list 命令与 mc share ls 的功能等效。
应用程序可以执行 PUT 以从该 URL 获取对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 文档中的 Pre-Signed URLs.
以下命令分别列出 myminio MinIO 部署中 mydata 存储桶的 所有上传和下载预签名 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
download
mc-cmd
必需 列出所有未过期的预签名下载(GET)URL。
与 mc share ls upload 互斥。
upload
mc-cmd
必需 列出所有未过期的预签名上传(PUT)URL。
与 mc share ls download 互斥。
ALIAS
mc-cmd
必需 MinIO 部署的 alias 以及对象的完整路径, 用于列出该对象的未过期预签名 URL。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出已生成的下载和上传 URL
使用 mc share ls download 生成一个 URL, 该 URL 支持 POST 请求,用于将文件上传到 S3 兼容主机上的 特定对象位置:
使用 mc share ls upload 生成一个 URL, 该 URL 支持 POST 请求,用于将文件上传到 S3 兼容主机上的 特定对象位置:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
60 - mc support inspect
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support inspect 命令会收集指定路径下与对象相关的数据和元数据。
对于每个指定对象,MinIO 会从存储其 纠删码分片 的各个后端驱动器汇总这些数据。 该命令会生成一个加密 zip 文件,其中包含所有匹配文件及其对应的 host+drive+path。
如果诊断 MinIO SUBNET 问题需要这些信息,MinIO Engineering 会提供相应命令。 生成的报告用于 MinIO Engineering 通过 SUBNET 进行分析,且可能包含与对象相关的内部或私有数据点。 将报告发送给第三方或发布到公共论坛前请谨慎评估。
变更: RELEASE.2023-01-11T03-14-16Z
该文件会上传到 MinIO,供工程团队用于支持工作。 如果文件上传失败(例如在 airgapped 环境中),则会保存到当前工作目录。
变更: RELEASE.2022-12-12T19-27-27Z
在写入 zip 归档时,MinIO 还会对归档内文件名的 zip 索引进行加密。
变更: RELEASE.2024-10-29T15-34-59Z
Inspect 现在会生成唯一文件名,以区分不同的 inspect 文件。 文件名会体现被检查的路径。
重要
mc support inspect 要求 MinIO 部署端服务版本为 2021 年 10 月或之后。
通配符
使用 Bash shell 时,该命令支持对前缀或对象进行通配符 * 模式匹配。 对于非 Bash shell,会显示提示消息,说明通配符模式仅在 Bash 中受支持。
该命令会收集 ALIAS/bucket/path/ 下与对象相关的所有 xl.meta。
示例
下载对象元数据
可下载某个对象的元数据。 元数据存储在 xl.meta 二进制文件中。
以下命令从 minio1 部署中的 mybucket/myobject 下载 xl.meta。
该文件会从所有驱动器下载,并打包为 zip 归档文件。
xl.meta 文件内容不可直接人工阅读。 可将 xl.meta 文件内容转换为 JSON 格式。
递归下载某个前缀下的所有对象
以下命令会递归下载某个前缀下找到的所有对象。
注意
该操作的开销可能较高。 请谨慎执行。
语法
该命令语法如下:
参数
--legacy
mc-cmd
Optional
使用旧版检查数据导出方式,该方式默认不加密数据。
TARGET
mc-cmd
Required
要检查的位置或对象路径。 该路径应包含 MinIO 部署的 alias <alias>,并在需要时包含前缀和/或对象名称。
全局标志
此命令支持 全局标志 中的任意选项。
61 - mc support top disk
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top disk 命令显示当前驱动器统计信息。
以下命令显示 alias myminio 上当前正在进行的 S3 API 调用。
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--count, -c
mc-cmd
Optional
显示统计信息,最多显示到指定数量的驱动器。
如果未提供值,该命令最多返回 10 个驱动器的统计信息。
全局标志
此命令支持 全局标志 中的任意选项。
62 - mc tag remove
语法
mc tag remove 命令用于移除存储桶或对象上的所有标签。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶的标签:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag remove --version-id 与多个参数互斥。有关更多信息,请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要移除全部标签的对象完整路径 (例如存储桶和对象路径)。例如:
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归移除指定 ALIAS 下所有对象的全部标签。
--rewind
mc-cmd
Optional
指示 mc tag remove 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag remove 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
结合使用 --versions 和 --rewind,可移除某个特定时间点存在的所有对象版本上的标签。
--version-id, vid
mc-cmd
Optional
指示 mc tag remove 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除存储桶或对象上的标签
使用 mc tag remove 移除存储桶或对象上的标签:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
63 - mc version suspend
语法
mc version suspend 命令用于禁用指定存储桶上的版本控制。
以下命令会为 myminio MinIO 部署中的 mybucket 存储桶禁用版本控制:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要禁用版本控制的存储桶完整路径。 例如:
全局参数
此命令支持 全局标志 中的任意选项。
示例
禁用存储桶版本控制
使用 mc version suspend 为存储桶禁用版本控制:
行为
现有数据下的存储桶版本控制
在包含现有版本化数据的存储桶上禁用版本控制时,不会 删除任何已版本化对象。 应用程序在禁用存储桶版本控制后仍可继续访问版本化数据。 使用 mc rm --versions ALIAS/BUCKET/OBJECT 删除某个对象及其所有版本。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
64 - mc alias import
语法
mc alias import 命令从 JSON 文档中导入别名配置。
你可以使用 mc alias export 生成导入所需的 JSON。
mc alias import 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
分配给导入配置的别名名称。
PATH
mc-cmd
Required
表示待导入别名配置的 JSON 对象的完整路径。
与 STDIN 参数互斥。
STDIN
mc-cmd
Required
指定命令使用标准输入(STDIN)作为导入 JSON 对象的来源。
与 PATH 参数互斥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
JSON 格式
JSON 对象 必须 采用以下格式:
你可以使用 mc alias export 命令从本地主机配置中导出现有别名。 或者,你也可以从 mc configuration file 中手动提取所需的 JSON 字段。
示例
使用标准输入导入别名
以下示例为 play.min.io 沙箱导入一个自定义别名。 你可以修改该示例,改为使用你已创建或已验证存在于该沙箱上的用户凭据:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
65 - mc anonymous links
语法
mc anonymous links 获取用于匿名(即未认证或公开)访问存储桶的 HTTP URL。
配置了匿名策略的存储桶允许客户端在无需 认证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令获取 myminio MinIO 部署上 mydata 存储桶的 HTTP URL:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 需要获取匿名存储桶策略的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或 存储桶前缀的完整路径。例如:
--recursive
mc-cmd
可选 递归获取 HTTP 链接。
全局参数
此命令支持 全局标志 中的任意选项。
示例
列出存储桶的匿名策略
使用 mc anonymous links 列出存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
66 - mc batch
描述
mc batch 命令允许您在 MinIO 部署上运行一个或多个作业任务。
子命令
mc batch 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
67 - mc batch list
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch list 命令会输出部署中当前正在进行的批处理作业列表。
以下命令会输出 myminio alias 上当前正在进行的所有作业列表。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
要列出进行中作业的目标部署的 alias。
--type
mc-cmd
Optional
仅列出指定类型的批处理作业。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出所有 replicate 类型的批处理作业
以下命令列出 alias myminio 所对应部署上的 replicate 类型作业:
上述命令的输出类似如下:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
你必须具有 admin:ListBatchJobs 权限,才能列出该部署上的作业。
68 - mc idp ldap accesskey info
描述
mc idp ldap accesskey info 输出指定访问密钥(一个或多个)的信息。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
以下示例输出
minio部署中访问密钥mykey的详细信息:
该命令具有以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的访问密钥。 你可以使用空格分隔多个访问密钥,以列出多个密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要输出其信息的已配置访问密钥。
你可以使用空格分隔多个访问密钥,以列出多个密钥。
示例
输出 minio 部署中访问密钥 mykey 和 mykey2 的信息。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
69 - mc idp ldap info
描述
mc idp ldap info 命令输出指定 MinIO 部署上 AD/LDAP 提供程序的当前配置。
以下示例输出 myminio 部署上的 AD/LDAP 配置设置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以获取 AD/LDAP 集成信息。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出当前 AD/LDAP 配置的 MinIO 部署 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
70 - mc ilm rule import
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule import 替代 mc ilm import。
语法
mc ilm rule import 命令导入对象生命周期管理配置, 并将其应用到 MinIO 存储桶。
mc ilm rule import 命令默认从 STDIN 导入。 你可以从 .json 文件输入内容,例如由 mc ilm rule export 生成的文件。
以下命令从 mydata-lifecycle-config.json 导入生命周期管理配置, 并将其应用到 myminio 部署中的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署上用于导入对象生命周期管理规则的存储桶的 alias 和完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导入存储桶生命周期管理配置
以下命令从 bucket-lifecycle.json 文件导入 存储桶生命周期管理配置:
-
将
ALIAS替换为 MinIO 部署的 alias 以及要导入对象生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为用于导入生命周期管理规则的文件名。
所需权限
有关导入规则所需的权限,请参阅父命令中的 required permissions。
行为
导入配置会覆盖现有规则
mc ilm rule import 会使用导入的 JSON 配置中定义的规则 替换当前的存储桶生命周期管理规则。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
71 - mc ilm tier ls
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier ls replaces mc admin tier ls.
描述
mc ilm tier ls 命令显示某个部署上已配置的远程层级。
mc ilm tier list 命令与 mc ilm tier ls 功能等效。
语法
该命令的语法如下:
以下示例输出 myminio 部署上现有远程层级的列表。
该命令的语法如下:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层级存在于该部署上。
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层级所需的权限,请参阅父命令中的 required permissions。
72 - mc replicate update
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate update 替代了 mc admin bucket remote update 命令。
变更: RELEASE.2022-11-07T23-47-39Z
mc replicate update 替代了 mc replicate edit 命令。
语法
mc replicate update 命令用于修改现有的 存储桶复制规则。
以下命令会修改 myminio MinIO 部署中 mydata 存储桶的一条现有复制规则:
新的复制配置会将所有版本化删除操作、删除标记创建以及现有对象 同步到远端 MinIO 部署。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改复制规则的 MinIO 部署 alias 以及存储桶或存储桶前缀的完整路径。 例如:
--id
mc-cmd
Required
指定已配置复制规则的唯一 ID。 使用 mc replicate ls 命令列出存储桶的复制规则。
--bandwidth
mc-cmd
Optional
将带宽速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将带宽速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 不限制带宽速率。
--healthcheck-seconds
mc-cmd
Optional
远端存储桶健康状态检查之间的时间间隔(秒)。
如果未指定,MinIO 使用 60 秒间隔。
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 使用不限速下载。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 使用不限速上传。
--path
mc-cmd
Optional
为远端存储桶启用 path-style 查找支持。
有效值包括:
on- 使用路径查找来定位远端存储桶off- 使用资源定位符样式(如域名或 IP 地址)查找来定位远端存储桶auto- 让 MinIO 自动识别用于定位远端存储桶的正确查找类型
未定义时,MinIO 使用 auto 值。
--priority
mc-cmd
Optional
指定复制规则的整数优先级。 该值 必须 在源存储桶的所有其他规则中唯一。 数值越高,优先级越 高。
--proxy
mc-cmd
Optional
在存储桶之间定义 active-active 复制时,是否使用代理。
有效值包括:
enable- 在 active-active 复制中启用代理。disable- 在 active-active 复制中禁用代理。
默认情况下,MinIO 默认为 enable。
--remote-bucket
mc-cmd
Optional
指定远端位置的凭据、目标部署和存储桶。 值可以是 alias 与存储桶,也可以是基于位置(IP 或 URL)或基于路径的形式。
例如,基于 URL 的目标可能如下:
基于 alias 的目标可能如下:
--replicate
mc-cmd
Optional
指定由逗号分隔的以下值列表,以启用扩展复制功能:
-
delete- 指示 MinIO 将 DELETE operations 复制到目标存储桶。 -
delete-marker- 指示 MinIO 将删除标记复制到目标存储桶。 -
replica-metadata-sync- 指示 MinIO 将已复制对象上仅元数据的变更同步回源端。 该功能仅影响 双向 active-active 复制配置。省略此值会使 MinIO 停止将仅元数据变更复制回源端。
-
existing-objects- 指示 MinIO 复制在配置或启用复制之前已创建的对象。 默认情况下,MinIO 不会 将现有对象同步到远端目标。更多信息参见 现有对象的复制。
--state
mc-cmd
Optional
启用或禁用复制规则。 指定以下值之一:
"enable"- 启用复制规则。"disable"- 禁用复制规则。
在复制被禁用期间创建的对象,在重新启用规则后不会立即具备复制资格。 你必须在传给 mc replicate update --replicate 的复制功能列表中包含 "existing-objects",以显式启用现有对象复制。
更多信息参见 现有对象的复制。
--storage-class
mc-cmd
Optional
指定要应用到已复制对象上的 MinIO storage class。
--sync
mc-cmd
Optional
为此远端目标启用同步复制。
默认情况下,MinIO 使用异步复制。
--tags
mc-cmd
Optional
指定一个或多个以与号 & 分隔的键值对标签,MinIO 使用这些标签来筛选待复制对象。例如:
MinIO 会将复制规则应用到标签集中 包含指定复制标签的任何对象。
全局标志
此命令支持 全局标志 中的任意选项。
示例
修改现有复制规则
使用 mc replicate update 修改现有复制规则。
- 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为该规则所在存储桶或存储桶前缀的路径。 - 将
ID替换为要修改规则的唯一标识符。 使用mc replicate ls获取该存储桶上的复制规则列表及其对应标识符。
说明
修改复制配置规则不会影响已经复制的对象。 例如,修改 --tags 过滤器不会删除不满足过滤条件的已复制对象。
更新现有复制规则的凭据
使用 mc replicate update 修改现有复制规则。
禁用或启用现有复制规则
使用带 --state 标志的 mc replicate update 来禁用或启用复制规则。
- 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为该规则所在存储桶或存储桶前缀的路径。 - 将
ID替换为要修改规则的唯一标识符。 使用mc replicate ls获取该存储桶上的复制规则列表及其对应标识符。 - 在
--state标志中指定"disable"或"enable",以禁用或启用复制规则。
行为
所需权限
MinIO 强烈建议创建专门用于支持存储桶复制操作的用户。 有关向 MinIO 部署添加用户和策略的更完整文档,请参见 mc admin user 和 mc admin policy。
以下策略提供在部署上配置并启用复制所需的权限。
"EnableRemoteBucketConfiguration"语句授予创建远端目标以支持复制的权限。"EnableReplicationRuleConfiguration"语句授予在存储桶上创建复制规则的权限。"arn:aws:s3:::*资源将复制权限应用到源部署上的 任意 存储桶。你可以按需将用户策略限制到特定存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制源的部署。使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将该策略关联到该新用户。
以下策略提供将复制数据同步 到 该部署所需的权限。
"EnableReplicationOnBucket"语句授予远端目标检索存储桶级配置的权限,以支持对 MinIO 部署中 所有 存储桶执行复制操作。 若要将策略限制到特定存储桶,可在Resource数组中以"arn:aws:s3:::bucketName"形式指定这些存储桶。"EnableReplicatingDataIntoBucket"语句授予远端目标将数据同步到 MinIO 部署中 任意 存储桶的权限。 若要将策略限制到特定存储桶,可在Resource数组中以"arn:aws:s3:::bucketName/*"形式指定这些存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制目标的部署。使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将该策略关联到该新用户。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
73 - mc support perf
变更: RELEASE.2022-07-24T02-25-13Z
mc support perf 替代 mc admin speedtest 命令。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
使用 mc support perf 命令可检查 S3 API(读/写)、网络 IO 和存储(磁盘读/写)的性能。
测试结果可为部署在 S3 GET 和 PUT 请求下的性能提供总体参考,并识别潜在瓶颈。 如需更完整的性能测试,建议结合预发应用环境中的负载测试与 MinIO WARP S3 基准测试工具。
mc support perf 包含以下子命令
-
测量 MinIO 部署中磁盘的速度。
mc support perf drive在测试期间会临时暂停 S3 API 调用。 命令运行期间,传入请求会保存在队列中。 命令完成或结束后,MinIO 会处理排队请求并恢复正常运行。 -
测量集群中对象读写速度。
-
测量所有节点的网络吞吐量。
mc support perf net在测试期间会临时暂停 S3 API 调用。 命令运行期间,传入请求会保存在队列中。 命令完成或结束后,MinIO 会处理排队请求并恢复正常运行。 -
测量到客户端的网络吞吐量。
-
测量站点复制操作的速度。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
示例
测量对象速度
在别名 minio1 上,测量某个对象的 S3 读写性能。 MinIO 会自动调优并发度,以获得最大吞吐量和 IOPS(Input/Output Per Second)。
在指定时长内测量指定大小对象的速度
在别名 minio1 上,对大小为 128MiB 的对象运行 20 秒的 S3 读写性能测试。 MinIO 会自动调优并发度以获得最大吞吐量。
使用默认规格测试所有节点上的全部磁盘速度
在别名为 minio1 的集群上,对所有节点上的所有磁盘执行读写性能测量。 该命令未指定 blocksize,因此使用默认值 4MiB。
使用自定义规格测试磁盘速度
在别名为 minio1 的集群上执行磁盘读写性能测量,指定 blocksize 为 64KiB,且每个磁盘读写数据量为 2GiB。
测试网络吞吐量
在别名为 minio1 的集群上运行网络吞吐量测试。
测试站点复制速度
测试站点 minio1 到其他已配置对等站点的站点复制操作速度。
语法
mc support perf drive
mc-cmd
测量集群中磁盘的读写速度。
mc support perf object
mc-cmd
测量集群中对象读写的 S3 性能。
mc support perf net
mc-cmd
测量集群中所有节点的网络吞吐量。
mc support perf client
mc-cmd
测量运行 MinIO Client 的本地设备到服务器的网络吞吐量。
mc support perf site-replication
mc-cmd
测量从指定 ALIAS 到其他已配置对等站点的站点复制操作速度。
参数
--airgap
mc-cmd
Optional
用于无法通过网络访问 SUBNET 的环境(例如 airgapped、受防火墙限制或类似配置)。
如果部署本身是 airgapped,但你使用 minio client 的本地设备可以访问网络,则无需使用 --airgap 标志。
--size
mc-cmd
Optional
适用于 object 命令。
指定上传和下载性能测试所使用的对象大小。
未指定时,默认值为 64MiB。
使用 --size <value>,其中 <value> 为数字加存储单位 KiB、MiB 或 GiB。
--concurrent
mc-cmd
Optional
指定每台服务器用于测试的并发请求数。
未指定时,默认值为 32。
使用 --concurrent <value>,其中 <value> 为数字。
--verbose, -v
mc-cmd
Optional
在输出中显示每台服务器的统计信息。
--filesize
mc-cmd
Optional
适用于 drive 命令。
指定每个磁盘读取或写入的数据总量。
未指定时,默认值为 1GiB。
使用 --filesize <value>,其中 <value> 为数字和存储单位 KiB、MiB 或 GiB。
--blocksize
mc-cmd
Optional
适用于 drive 命令。
指定读写块大小。
未指定时,默认值为 4MiB。
使用 --filesize <value>,其中 <value> 为数字和存储单位,使用标准存储单位缩写。
--serial
mc-cmd
Optional
逐个对磁盘执行性能测试。
ALIAS
mc-cmd
Required
适用于 drive、object、net 和 client 命令。
MinIO 部署的 alias。
--duration
mc-cmd
Required
适用于 client 命令。
执行测试的时长(秒)。 时间不能为 0 或负数。
全局标志
此命令支持 全局标志 中的任意选项。
74 - mc support top net
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top net 命令用于显示实时网络指标。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--interval
mc-cmd
Optional
两次指标请求之间的间隔(秒)。
默认情况下,命令每秒请求一次指标。
全局参数
此命令支持 全局标志 中的任意选项。
75 - mc alias export
新增: mc.RELEASE.2023-11-15T22-45-58Z
语法
mc alias export 命令从现有的 configuration 中导出别名配置。
该命令将结果输出到 STDOUT,你可以将输出保存为文件,或 按需进一步修改输出内容。
使用 mc alias import 命令导入生成的 JSON 配置。
以下命令从现有主机导出别名配置并输出到文件:
该命令会将内容输出到标准输出(STDOUT)。 你也可以将输出通过管道传递给所选工具执行后续操作。
mc alias export 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要导出的别名名称。
全局标志
此命令支持 全局标志 中的任意选项。
行为
JSON 格式
该命令输出一个符合以下结构的 JSON 对象:
你可以使用 mc alias import 导入该 JSON 文档。
示例
导出并转换别名
以下示例导出 play.min.io 沙箱的别名。 随后使用 jq 工具转换该配置,并基于修改后的配置创建新别名:
备份别名配置
以下命令将别名配置导出为 JSON 文件。 然后你可以按你偏好的流程备份该文件。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
76 - mc anonymous get-json
语法
mc anonymous get-json 命令用于获取存储桶的匿名(即未经身份验证或公开)访问 policies。
配置了匿名策略的存储桶允许客户端在无需 authentication 的情况下访问存储桶内容,并执行与指定策略一致的操作。
以下命令检索 myminio MinIO 部署上 mydata 存储桶的 JSON 格式匿名策略:
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要获取匿名存储桶策略的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶的匿名策略
使用 mc anonymous get-json 获取存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
77 - mc batch start
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch start 命令根据批处理作业 YAML 文件启动一个批处理作业。
批处理作业会运行一次直到完成(或达到文件中指定的最大重试次数)。 若要在完成后再次运行该批处理作业,必须重新启动它。
以下命令会在 myminio 别名的 mybucket 存储桶上,为 replicate 作业创建一个基础 YAML 文件。
上述命令的输出类似如下:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于启动批处理作业的 alias。
例如:
JOBFILE
mc-cmd
Required
YAML 定义的批处理作业。 作业可按需包含任意数量的任务;没有预定义的限制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
启动批处理作业
以下命令会在 alias myminio 对应的部署上,启动 replication.yaml 文件中定义的一批作业:
- 将
myminio替换为应运行该作业的 MinIO 部署alias。 - 将
./replication.yaml替换为描述批处理作业的 YAML 格式文件。 使用相对于当前位置的文件路径。
上述命令的输出类似如下:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
要启动作业,必须在该部署上具有 admin:StartBatchJob 权限。
78 - mc cat
语法
mc cat 命令将文件或对象的内容连接到另一个文件或对象。 你也可以使用该命令将指定文件或对象的内容输出到 STDOUT。 cat 的功能与 cat 类似。
以下命令将 MinIO 部署中某个对象的内容输出到 STDOUT:
mc cat 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
你也可以将 mc cat 用于本地文件系统,以获得与 cat 命令行工具类似的结果。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 以及对象的完整路径。例如:
你可以指定同一或不同 MinIO 部署中的多个对象。例如:
对于本地文件系统上的对象,请指定该对象的完整路径。例如:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--offset
mc-cmd
Optional
指定一个整数,表示命令输出的字节偏移位置。
与 --part-number 标志互斥。
--part-number
mc-cmd
Optional
下载分段上传中的指定分段编号。 指定要下载的分段编号整数值。
--rewind
mc-cmd
Optional
指示 mc cat 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--tail
mc-cmd
Optional
指定一个整数,表示命令从该字节数开始裁剪输出。
与 --part-number 标志互斥。
--version-id, vid
mc-cmd
Optional
指示 mc cat 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--zip
mc-cmd
Optional
将源端 zip 文件中的内容提取到远端。 要求源 ALIAS 为 MinIO 部署。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看 S3 对象
使用 mc cat 返回对象:
按时间点查看 S3 对象
使用 mc cat --rewind 返回过去某个特定时间点的对象:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为对象在 S3 兼容主机上的路径。 - 将
DURATION替换为命令返回对象时对应的 过去时间点。例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc cat 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
查看 S3 对象的指定版本
使用 mc cat --version-id 返回对象的特定版本:
需要版本控制
要使用此功能,mc cat 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
下载特定分段
使用 mc cat --part-number 下载分段上传中的特定分段:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为对象在 S3 兼容主机上的路径。 - 将
#替换为要下载的分段编号整数值。 例如,要下载一个 16 段分段文件中的第 3 段,使用--part-number=3。
如果使用了 --offset 或 --tail 标志,则不能使用 --part-number 标志。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
79 - mc idp ldap accesskey ls
描述
mc idp ldap accesskey ls 用于显示 LDAP 访问密钥对列表。
mc idp ldap accesskey ls 也称为 mc idp ldap accesskey list。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
该命令的语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署 alias。 -
将
DN替换为用户的 distinguished name 字符串。 你可以用空格分隔多个 distinguished name。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
--all
mc-cmd
Optional
新增: mc
RELEASE.2024-07-31T15-58-33Z
列出所有 LDAP 用户的全部访问密钥。
--self
mc-cmd
Optional
新增: mc
RELEASE.2024-07-31T15-58-33Z
列出当前已认证用户的访问密钥。
--svcacc-only
mc-cmd
Optional
仅输出服务账户访问密钥。
与 --temp-only 互斥。
--temp-only
mc-cmd
Optional
仅输出临时访问密钥。
与 --svcacc-only 互斥。
--users-only
mc-cmd
Optional
仅输出用户 distinguished name。
示例
列出所有访问密钥
要返回所有访问密钥列表,你必须先以 admin 用户完成认证。 认证完成后,以下命令会返回 minio 部署上的全部 AD/LDAP 访问密钥。
说明
如果用户没有 admin:ListUsers 权限,该命令仅返回已认证用户的访问密钥列表。
列出用户 Distinguished Name
要返回某个部署的 DN 列表,你必须先以具有 admin:ListUsers 权限的用户完成认证。 认证完成后,以下命令会输出 minio 部署上的 AD/LDAP distinguished name。
列出临时访问密钥
要返回某个部署的全部临时访问密钥列表,你必须先以具有 admin:ListUsers 权限的用户完成认证。 认证完成后,以下命令会输出 distinguished name 及其关联临时访问密钥的列表。
列出某个用户的访问密钥
以下命令返回 minio 部署上用户 bobfisher 的 AD/LDAP 访问密钥。
列出多个用户的访问密钥
以下命令返回 minio 部署上用户 bobfisher 和 cody3 的 AD/LDAP 访问密钥。
列出已认证用户的访问密钥
以下命令返回 minio 部署上当前已认证用户的 AD/LDAP 访问密钥。
说明
如果已认证用户具有 admin:ListUsers 权限,则该命令会返回部署上所有用户及其访问密钥列表。
全局参数
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
80 - mc idp ldap ls
说明
mc idp ldap ls 命令列出 AD/LDAP 提供方当前已有的配置集合。
mc idp ldap ls 也称为 mc idp ldap list。
以下示例列出 myminio 部署的 AD/LDAP 配置设置。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,以列出 AD/LDAP 集成配置。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出其当前 AD/LDAP 配置的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
81 - mc ilm rule ls
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule ls 替代了 mc ilm ls。
变更: RELEASE.2023-05-26T23-31-54Z
mc ilm rule ls --json 的输出在 updateAt 中包含策略修改时间。
语法
mc ilm rule ls 命令以表格格式汇总 MinIO 存储桶上配置的所有对象生命周期管理规则。
mc ilm rule list 命令与 mc ilm rule ls 的功能等效。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有生命周期管理规则:
命令输出可能类似如下:
mc ilm rule ls 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要列出对象生命周期管理规则的 MinIO 部署中,存储桶对应的 alias 和完整路径。 例如:
--expiry
mc-cmd
Optional
mc ilm rule ls 仅返回与生命周期规则过期相关的字段。
与 --transition 互斥。
--transition
mc-cmd
Optional
mc ilm rule ls 仅返回与生命周期规则转移相关的字段。
与 --expiry 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶生命周期管理规则
使用 mc ilm rule ls 列出存储桶的生命周期管理规则:
显示策略修改时间
使用带有 --json 的 mc ilm rule ls 显示存储桶策略上次更新时间。
JSON 输出中的 updateAt 属性包含该策略更新的日期和时间。
输出类似如下:
所需权限
有关列出规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
82 - mc ilm tier rm
描述
mc ilm tier rm 命令用于移除尚未用于转换任何对象的远程层。
mc ilm tier remove 命令与 mc ilm tier rm 具有等效功能。
说明
一旦某个层已经转换过对象,则无法将其移除。
所需权限
MinIO 要求具备以下权限,且权限范围限定为你要创建生命周期管理规则的一个或多个存储桶。
MinIO 还要求在集群上具备以下管理权限,该集群用于为对象转换生命周期管理规则创建远程层:
例如,以下策略提供了在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
该命令具有以下语法:
以下示例在 myminio 部署上移除名为 WARM-TIER 的现有远程层。 没有对象被转换到 WARM-TIER 层。
该命令具有以下语法:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
目标层所在的已配置 MinIO 部署的 alias。
TIER_NAME
mc-cmd
Required
要移除的现有远程层名称。
你 必须 使用全大写指定该层,例如 WARM_TIER。
不能有任何对象已转换到该层。
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关移除层所需的权限,请参阅父命令中的 required permissions。
83 - mc replicate resync
语法
mc replicate resync 命令会将指定 MinIO 存储桶中的所有对象, 重新同步到远端 replication 目标。
此命令 要求 先使用 mc replicate add 命令配置远端存储桶目标。 执行 mc replicate resync 时,必须指定由此生成的远端 ARN。
此命令支持使用 active-active 复制的远端作为“备份”来源来重建 MinIO 部署。 有关 active-active 复制的更多信息,请参阅以下教程:
以下命令将 myminio MinIO 部署中 mydata 存储桶的内容, 重新同步到与指定 --remote-bucket 关联的远端 MinIO 部署:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及 MinIO 用作复制源的存储桶或存储桶前缀的完整路径。 例如,以下命令使用与 primary 别名关联的 MinIO 部署上的 data 存储桶启动复制。
start
mc-cmd
Required
使用指定的 bucket 作为源, 并使用 --remote-bucket 作为远端目标, 启动重新同步过程。
与 mc replicate resync status 互斥。
status
mc-cmd
Required
返回指定 bucket 到所有远端目标的重新同步状态。
包含 --remote-bucket 参数可将状态输出过滤为仅显示指定远端目标。
--remote-bucket
mc-cmd
Required
指定目标部署和存储桶的 ARN。
可通过 mc replicate ls 配合 --json 选项获取 ARN。 rule.Destination.Bucket 字段包含任意给定复制规则的 ARN。
older-than
mc-cmd
Optional
指定一个以天为单位的时长,MinIO 仅会重新同步早于该时长的对象。
仅可与 mc replicate resync start 一起使用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从源存储桶重新同步远端复制目标
以下 mc replicate resync 命令会将指定源存储桶中的所有对象重新同步到远端目标, 不考虑其复制状态:
- 将
primary/data替换为ALIAS对应的完整存储桶路径,用于创建复制配置。 - 将
--remote-bucket的值替换为远端目标的 ARN。 使用mc replicate ls列出所有已配置的远端复制目标。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
84 - mc support profile
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support profile 为你的部署运行系统性能剖析。 剖析结果可帮助了解给定节点上运行的 MinIO 服务端进程状态。
生成的报告供 MinIO Engineering 使用。 你可以将报告上传到 MinIO SUBNET。 若由你自己或第三方独立使用这些剖析结果进行诊断和修复,风险自担。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
示例
获取 CPU 剖析
此命令从别名为 minio1 的 MinIO 部署中获取 CPU 剖析数据。 剖析按默认时长运行 10 秒。
并发获取 CPU、内存和 block 剖析
此命令从别名 minio2 获取 CPU、内存和 block 使用情况的剖析数据。 剖析按默认时长运行 10 秒。
并发获取 CPU、内存和 block 剖析(持续 10 分钟)
此命令从别名 minio3 获取 CPU、内存和 block 的剖析数据。 剖析运行 10 分钟(600 秒)。
语法
mc support profile 命令语法如下:
参数
--duration
mc-cmd
Optional
按指定时长运行剖析,单位为秒。
使用 --type <value>,其中 <value> 为剖析运行的秒数。
如果未指定,命令将收集 10 秒的数据。
--type
mc-cmd
Optional
指定要收集数据的剖析类型。
使用 --type <value>,其中 <value> 为一个或多个以逗号分隔的数据类型。
有效类型包括:
cpucpuiomemblockmutextracethreadsgoroutines
如果未指定,命令将收集 CPU、memory、block、mutex、threads 和 goroutines 的数据。
重要
除非 MinIO Support 明确要求,否则不要使用 cpuio 或 trace 数据类型。 这些剖析会消耗大量资源,在缺乏指导时使用可能导致集群性能下降。
--airgap
mc-cmd
Optional
在无法网络访问 SUBNET 的环境中使用(例如 airgapped、firewalled 或类似配置)。
如果部署是 airgapped,但你运行 minio client 的本地设备具有网络访问能力,则无需使用 --airgap 标志。
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
全局标志
此命令支持 全局标志 中的任意选项。
85 - mc support top rpc
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top rpc 命令显示远程过程调用(RPC)的指标。
以下命令显示 alias myminio 部署当前的远程过程调用指标。
输出会返回如下信息:server、连接数、ping 时延、距离上次 ping(pong)的时间、重连次数、string in、string out、messages in 和 messages out。
输出类似如下:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--airgap
mc-cmd
Optional
用于无法通过网络访问 SUBNET 的环境。
--in
mc-cmd
Optional
回放先前保存的 JSON 文件。 指定要回放的 JSON 文件路径,例如由此前运行该命令生成的文件。
--interval
mc-cmd
Optional
指标请求之间的间隔时间(秒)。
默认情况下,命令每秒请求一次指标。
-n
mc-cmd
Optional
在退出前要运行的请求次数。 使用 0 表示无限运行。
如果未指定,命令不会自动退出。
--nodes
mc-cmd
Optional
以逗号分隔的节点列表,用于指定从哪些节点收集指标。
全局标志
此命令支持 全局标志 中的任意选项。
86 - mc anonymous set-json
语法
mc anonymous set-json 命令使用 IAM JSON 策略文档,为存储桶设置匿名(即未认证或公开)访问策略。
配置了匿名策略的存储桶允许客户端在无需 authentication 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令将 JSON 格式的匿名策略应用到 myminio MinIO 部署上的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
POLICY
mc-cmd
必需 要分配给指定 ALIAS 的 JSON 格式策略文件路径。
ALIAS
mc-cmd
必需 存储桶或存储桶前缀的完整路径,命令会将指定的 POLICY 应用到该路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶设置匿名策略
使用 mc anonymous set-json 为存储桶设置匿名策略:
移除存储桶的匿名策略
使用 mc anonymous set 清除存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
87 - mc batch status
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch status 命令会输出 MinIO 服务器上作业事件的汇总信息。
变更: mc
RELEASE.2024-07-03T20-17-25Z
Batch status 会显示活动且正在进行的作业,或前 3(三)天内已完成的任意批处理作业的汇总信息。
以下命令会输出 myminio alias 上当前正在运行、JobID 为 KwSysDpxcBU9FNhGkn2dCf 的指定作业状态。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
要显示批处理作业状态的 alias。
JOBID
mc-cmd
Optional
要汇总的作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
如果未指定,则该命令返回当前活动的批处理作业的汇总信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
汇总活动复制作业的事件
以下命令会为 alias myminio 对应部署上的活动作业提供实时汇总:
- 将
myminio替换为应运行该作业的 MinIO 部署的alias。
上述命令的输出如下所示:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
88 - mc cp
语法
mc cp 命令用于在 MinIO 部署与本地文件系统之间复制对象, 其中源端可以是 MinIO 或 本地文件系统。
你也可以将 mc cp 用于本地文件系统,达到与 cp 命令行工具 类似的效果。
说明
mc cp 仅复制对象的最新版本或指定版本,不包含任何版本信息或修改日期。 要复制所有版本、版本信息及相关元数据,请使用 mc replicate add 或 mc admin replicate。
以下命令将文件从本地文件系统目录复制到 myminio MinIO 部署中的 mydata 存储桶:
mc cp 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要复制的对象。
如需从 MinIO 复制对象,请指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。 例如:
指定多个 SOURCE 路径可将多个对象复制到指定的 TARGET。 mc cp 将最后一个指定的 alias 或文件系统路径视为 TARGET。 例如:
如需从本地文件系统复制对象,请指定该对象的完整路径。 例如:
如果在 SOURCE 中指定的是目录或存储桶, 还必须指定 --recursive 以递归复制该目录或存储桶中的内容。 如果省略 --recursive 参数,cp 仅复制指定目录或存储桶顶层中的对象。
TARGET
mc-cmd
Required
mc cp 复制对象的目标完整路径。
如需将对象复制到 MinIO, 请指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。例如:
如需将对象复制到本地文件系统,请指定该对象的完整 路径。例如:
--attr
mc-cmd
Optional
为对象添加自定义元数据。 以 KEY=VALUE\; 格式指定键值对。 例如,--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
有效值包括: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志依赖服务端 trailing headers,适用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
为本次复制会话禁用分片上传。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--legal-hold
mc-cmd
Optional
为复制后的对象启用无限期的 legal hold 对象锁定。
指定 on。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--md5
mc-cmd
Optional
变更: RELEASE.2024-10-02T08-27-28Z
已由 --checksum 标志替代。
强制所有上传计算 MD5 校验和。
--newer-than
mc-cmd
Optional
复制比指定天数更新的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss
默认为 0(所有对象)。
--older-than
mc-cmd
Optional
复制早于指定时间限制的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss
默认为 0(所有对象)。
--preserve, a
mc-cmd
Optional
在 TARGET 存储桶中保留来自 SOURCE 目录、存储桶和对象的文件系统属性及存储桶策略规则。
--recursive, r
mc-cmd
Optional
将每个 SOURCE 存储桶或目录中的内容递归复制到 TARGET 存储桶。
--retention-duration
mc-cmd
Optional
要应用于复制对象的 WORM retention mode 持续时间。
以 #d#hh#mm#ss 格式的字符串指定持续时间。 例如:--retention-duration "1d2hh3mm4ss"。
需要同时指定 --retention-mode。
--retention-mode
mc-cmd
Optional
在复制对象上启用 object locking mode。 支持以下取值:
GOVERNANCECOMPLIANCE
需要同时指定 --retention-duration。
--rewind
mc-cmd
Optional
指示 mc cp 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 SOURCE 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--storage-class, sc
mc-cmd
Optional
为 TARGET 上的新对象设置存储类。
有关 S3 存储类的更多信息,请参见 https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html。
--tags
mc-cmd
Optional
为复制后的对象应用一个或多个标签。
以 KEY1=VALUE1&KEY2=VALUE2 形式指定由与号分隔的键值对, 其中每一对代表分配给对象的一个标签。
--version-id, vid
mc-cmd
Optional
指示 mc cp 仅对指定的对象版本执行操作。
--version-id 要求指定的 SOURCE 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--zip
mc-cmd
Optional
在复制期间,从 .zip 归档中提取文件。 仅当源归档文件位于 MinIO 部署中时生效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将对象复制到 S3
使用 mc cp 将对象复制到 S3 兼容主机:
递归复制对象到 S3
使用 mc cp --recursive 将对象递归复制到 S3 兼容主机:
复制对象的时间点版本
使用 mc cp --rewind 复制对象在某个特定时间点的状态。 该命令仅适用于 S3 到 S3 复制。
- 将
DURATION替换为要回溯复制对象的过去时间点。 例如,指定30d可复制当前日期前 30 天的对象版本。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
需要版本控制
要使用此功能,mc cp 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
复制对象的特定版本
使用 mc cp --version-id 复制对象的特定版本。 该命令仅适用于 S3 到 S3 复制。
- 将
VERSION替换为要复制的对象版本。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
需要版本控制
要使用此功能,mc cp 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
添加 content-type 值
使用 mc cp --attr 添加 content-type 值。 该命令仅适用于 S3 到 S3 复制。
- 将
CONTENT-TYPE替换为所需的 content type(也称为 media type)。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
以下示例将 content-type 设置为 application/json:
行为
mc cp 使用 MD5SUM 校验和验证所有到对象存储的复制操作。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
89 - mc idp ldap accesskey rm
描述
mc idp ldap accesskey rm 从本地服务器中删除指定的访问密钥。
mc idp ldap accesskey rm 也称为 mc idp ldap accesskey remove。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
以下示例从
minio部署中删除访问密钥mykey:
该命令使用以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的访问密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要删除的已配置访问密钥。
示例
从 minio 部署中删除访问密钥 mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
90 - mc idp ldap rm
说明
mc idp ldap rm 命令移除 AD/LDAP 提供方的现有配置。
mc idp ldap rm 也称为 mc idp ldap remove。
以下示例移除 myminio 部署的 AD/LDAP 提供方设置。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,以移除 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要移除其当前 AD/LDAP 配置的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
91 - mc ilm rule rm
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule rm 替代 mc ilm rm。
语法
mc ilm rule rm 命令用于从 MinIO 存储桶中删除一条对象生命周期管理规则。
以下命令从 myminio MinIO 部署的 mydata 存储桶中删除一条生命周期管理规则:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要删除对象生命周期管理规则的 MinIO 部署上存储桶的 alias 和完整路径。 例如:
--all
mc-cmd
Optional
删除存储桶中的所有规则。 需要同时包含 --force。
与 --id 互斥。
--force
mc-cmd
Optional
指定 --all 时必需。
--id
mc-cmd
Optional
规则的唯一 ID。 使用 mc ilm rule ls 列出存储桶规则,并获取要删除规则的 id。
与 mc ilm rule rm --all 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除存储桶生命周期管理规则
使用 mc ilm rule rm 删除存储桶生命周期管理规则:
- 将
RULE替换为生命周期管理规则的唯一标识符。 使用mc ilm rule ls查找要使用的 ID。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。
所需权限
有关删除规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
92 - mc ilm tier update
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier update 替代 mc admin tier edit。
描述
mc ilm tier update 命令用于修改已配置的远程层。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
支持的 S3 服务
mc ilm tier 仅 支持以下兼容 S3 的服务作为对象分层的远程目标:
- MinIO
- Amazon S3
- Google Cloud Storage
- Azure Blob Storage
所需权限
MinIO 要求在你创建生命周期管理规则的存储桶范围内,具备以下权限。
MinIO 还要求在集群上具备以下管理权限,以便为对象过渡生命周期管理规则创建远程层:
例如,以下策略授予在集群中任意存储桶上配置对象过渡生命周期管理规则的权限:
过渡权限
对象过渡生命周期管理规则在远程存储层上需要额外权限。具体而言,MinIO 要求远程层凭证提供读取、写入、列出和删除权限。
例如,如果远程存储层实现基于 AWS IAM 策略的访问控制,则以下策略提供对象在远程层之间迁入和迁出所需的权限:
请修改 Resource 为 MinIO 执行对象分层所使用的存储桶。
关于配置用户和权限以支持 MinIO 分层的更完整信息,请参阅受支持分层目标的文档:
- Amazon S3 Permissions
- Google Cloud Storage Access Control
- Authorizing access to data in Azure storage
语法
以下示例会更新 myminio 部署上名为 S3TIER 的现有远程层凭证。
运行此命令后,myminio 部署上的生命周期管理规则会使用该层的新凭证将对象过渡到远程位置。 命令中未修改的选项会保留其现有配置。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias。
TIER_NAME
mc-cmd
Required
命令要修改的远程层名称。 该值对应于创建远程层时指定的 mc ilm tier add TIER_NAME。
--access-key
mc-cmd
Optional
远程 S3 或 MinIO 层上某个用户的 access key。 该用户必须具备在远程存储桶或存储桶前缀上执行 read/write/list/delete 操作的权限。
此选项仅适用于 TIER_TYPE 为 s3 或 minio 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--secret-key
mc-cmd
Optional
远程 s3 或 minio 层上某个用户的 secret key。
此选项仅适用于 TIER_TYPE 为 s3 或 minio 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--use-aws-role
mc-cmd
Optional
使用本地已配置的 AWS Role 的访问权限。
此选项仅在 TIER_TYPE 为 s3 或 minio 时适用。 对其他 TIER_TYPE 值,此选项无效。
--account-key
mc-cmd
Optional
远程 Azure 层上某个用户的 account key。
Azure 层类型必填。
使用此选项轮换与远程层关联的 --account-name 的凭证。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-tenant-id
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 Directory ID。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-client-id
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 Client ID。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-client-secret
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 secret。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--credentials-file
mc-cmd
Optional
Google Cloud Storage 层类型必填。
远程 GCS 层上某个用户的凭证文件。 该用户必须具备在远程存储桶或存储桶前缀上执行 read/write/list/delete 操作的权限。
此选项仅适用于 TIER_TYPE 为 gcs 的远程存储层。 对其他登录类型,此选项无效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
轮换 S3 远程层凭证
以下示例更新 myminio 部署上名为 S3TIER 的 S3 远程层凭证。
- 将
S3TIER替换为你的 Amazon Simple Storage Solution 层名称。 - 将
ACCESS_KEY替换为你的 S3 存储更新后的 access key。 - 将
SECRET_KEY替换为上面提供的 access key 对应的更新后 secret key。
轮换 Azure Blob Storage 远程层凭证
以下示例更新 myminio 部署上名为 AXTIER 的 Azure 远程层凭证。
- 将
AZTIER替换为你的 Azure 层名称。 - 将
ACCOUNT-KEY替换为你的 Azure 存储更新后的密钥。
轮换 Google Cloud Storage 远程层凭证
以下示例更新 myminio 部署上名为 GCSTIER 的 Google Cloud Storage 远程层凭证。
- 将
GCSTIER替换为你的 Google Cloud Storage 层名称。 - 将
/path/to/credentials.json替换为用于访问远程存储的更新后凭证文件路径。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关修改层所需的权限,请参阅父命令中的 required permissions。
93 - mc replicate rm
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate rm 替代 mc admin bucket remote rm 命令。 删除复制配置时会自动删除其底层远程目标。
语法
mc replicate rm 命令用于从 MinIO 存储桶中删除 replication rule。
mc replicate remove 命令与 mc replicate rm 功能等价。
以下命令从 myminio MinIO 部署中的 mydata 存储桶删除指定 id 的复制规则:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias,以及要删除复制规则的 存储桶或存储桶前缀的完整路径。例如:
--id
mc-cmd
必需 指定已配置复制规则的唯一 ID。
如果指定 --all,则可省略此选项
--all
mc-cmd
可选 删除指定存储桶上的所有复制规则。要求同时指定 --force 标志。
--force
mc-cmd
可选 当指定 --all 时必需。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从存储桶中删除一条复制规则
使用 mc replicate rm 删除存储桶复制规则:
- 将
ID替换为要删除的复制规则唯一 ID。 使用mc replicate ls列出该存储桶的所有复制规则。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为存储桶或存储桶前缀的路径。
从存储桶中删除所有复制规则
使用 mc replicate rm 删除存储桶复制规则:
行为
删除复制规则不会影响已复制对象
删除存储桶的一条或全部复制规则,不会 删除已按这些规则复制的任何对象。
使用此命令或 mc rb 命令可删除远程目标上的已复制对象。 你可以通过 X-Amz-Replication-Status 元数据字段识别已复制对象,其值为 REPLICA。包含来自多个复制源对象的存储桶在删除前可能需要额外的 处理与过滤,以确定对象来源。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
94 - mc support proxy
说明
使用 mc support proxy 命令配置与 MinIO SUBNET 通信时使用的代理。
示例
设置代理 URL
定义部署 minio1 与 SUBNET 通信时使用的代理 URL。 此示例中的代理 URL 为 http://my.proxy。
删除为部署配置的代理 URL
以下命令会删除为别名 minio1 配置的代理 URL。
禁用 callhome 日志
以下命令显示为别名 minio1 配置的代理 URL。
语法
mc support proxy set
mc-cmd
为 MinIO 部署创建与 MinIO SUBNET 通信时使用的代理 URL。
mc support proxy show
mc-cmd
显示当前为与 MinIO SUBNET 通信配置的代理 URL。
mc support proxy remove
mc-cmd
删除为与 MinIO SUBNET 通信配置的代理 URL。
全局标志
此命令支持 全局标志 中的任意选项。
95 - mc diff
语法
mc diff 命令用于计算两个文件系统目录或 MinIO 存储桶之间的差异。 mc diff 仅列出缺失的对象或大小不同的对象。mc diff 不会 比较对象内容。
以下命令用于比较本地文件系统中的一个对象与 myminio MinIO 部署中 mydata 存储桶内一个对象之间的差异:
mc diff 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
必需 要与 TARGET 比较的对象。
对于来自 MinIO 的对象, 指定 alias 以及该对象的完整路径 (例如存储桶和对象路径)。例如:
对于来自本地文件系统的对象,指定该对象的完整路径。例如:
TARGET
mc-cmd
必需 要与 SOURCE 比较的对象。
对于来自 MinIO 的对象, 指定 alias 以及该对象的完整路径 (例如存储桶和对象路径)。例如:
对于来自本地文件系统的对象,指定该对象的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
以下示例假定 play 别名已存在于 mc 配置文件 中。你可以将 play 替换为 你首选 S3 兼容部署的别名。
有关别名的更多信息,请参阅 mc alias。
行为
输出图例
mc diff 在格式化 diff 输出时使用以下图例:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
96 - mc idp ldap update
描述
mc idp ldap update 命令用于修改 AD/LDAP 提供程序的现有配置集。
以下示例修改 myminio 部署的两个 AD/LDAP 配置项。
该命令使用以下语法:
-
将
ALIAS替换为要更新 AD/LDAP 集成配置的 MinIO 部署的 alias。 -
将
[CFG_PARAM#]替换为各个 configuration setting 键值对,格式为PARAMETER="value"。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改其 AD/LDAP 集成配置的 MinIO 部署的 alias。
例如:
server_addr
mc-cmd
Required
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_ADDR。
lookup_bind_dn
mc-cmd
Required
指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。
该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN。
lookup_bind_password
mc-cmd
Required
指定 Lookup-Bind 用户账户的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD。
user_dn_attributes
mc-cmd
Optional
新增: RELEASE.2024-06-06T09-36-42Z
用户 DN 属性的逗号分隔列表。
一些有效值包括 uid,cn,mail,sshPublicKey。
如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。
user_dn_search_base_dn
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。
多个 DN 之间请使用分号(;)分隔。
例如:
支持 Lookup-Bind 模式。
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN。
user_dn_search_filter
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER。
comment
mc-cmd
Optional
指定要附加到 AD/LDAP 配置上的注释。
该参数对应环境变量 MINIO_IDENTITY_LDAP_COMMENT。
enabled
mc-cmd
Optional
设为 false 可禁用 AD/LDAP 配置。
如果设为 false,应用程序将无法生成 STS 凭证, 也无法再使用已配置的提供者向 MinIO 进行身份验证。
默认为 true,即 “enabled”。
group_search_base_dn
mc-cmd
Optional
指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。
例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN。
group_search_filter
mc-cmd
Optional
指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。
例如:
在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER。
server_insecure
mc-cmd
Optional
指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。
MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。
默认值为 off。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_INSECURE。
server_starttls
mc-cmd
Optional
指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。
默认值为 off
有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_STARTTLS。
srv_record_name
mc-cmd
Optional
新增: RELEASE.2022-12-12T19-27-27Z
指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。
启用后,MinIO 会通过以下方式选择 AD/LDAP server:
- 按标准命名约定构造目标 SRV 记录名称。
- 请求可用的 AD/LDAP server 列表。
- 根据优先级和权重选择合适的目标。
下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp。
对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:
对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:
如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com
有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP。
DNS SRV 记录配置中的 server 地址
指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。
关于如何配置 AD/LDAP server 地址,请参见 server_addr 或 MINIO_IDENTITY_LDAP_SERVER_ADDR。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SRV_RECORD_NAME。
tls_skip_verify
mc-cmd
Optional
指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。
默认值为 off
该参数对应环境变量 MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
97 - mc replicate status
语法
mc replicate status 命令显示 MinIO 存储桶的 复制状态。 该状态还会列出远程目标路径或位置。
以下命令显示 myminio MinIO 部署上 mydata 存储桶的当前复制状态:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要显示复制状态的存储桶或存储桶前缀的完整路径。 例如:
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用以下参数:
如果未指定,MinIO 使用不限速的下载速率。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用以下参数:
如果未指定,MinIO 使用不限速的上传速率。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示复制状态
使用 mc replicate status 显示存储桶复制状态:
行为
移除并重新添加的 ARN
变更: mc
RELEASE.2023-03-20T17-17-53Z
该命令的标准输出不会显示此前已从复制配置中移除的 ARN。
如需列出所有 ARN(包括不再属于当前复制配置的 ARN),请使用 --json 标志。 json 输出会持续显示在旧 ARN 下复制的数据。 如果某个 ARN 在同一存储桶上被移除后又重新添加,这些信息会很有价值。
新的 ARN 不会 触发对先前已同步对象的重新复制。
98 - mc support top
说明
变更: RELEASE.2022-08-11T00-30-48Z
mc support top 替代 mc admin top 命令。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support top 命令返回分布式 MinIO 部署的统计信息, 类似于 shell 中 top 命令的输出。
说明
mc support top 不支持单节点单驱动 MinIO 部署。
mc support top 具有以下子命令:
有关每个子命令的详细信息,请参阅上方链接的页面。
语法
该命令的语法如下:
99 - mc du
语法
mc du 命令用于汇总存储桶和文件夹的磁盘使用量。 你也可以对本地文件系统使用 du,以生成与 du 命令类似的结果。
以下命令打印 myminio MinIO 部署中 mybucket 存储桶的磁盘使用量:
输出类似如下:
mc du 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 以及文件夹的完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个存储桶和文件夹。例如:
对于本地文件系统中的文件夹,请指定该文件夹的完整路径。例如:
mc du 完成所需时间取决于目标存储桶和文件夹的大小。大型存储桶可能需要一些时间来生成磁盘使用量摘要。
--depth, d
mc-cmd
Optional
打印命令中指定路径下 N 层及以内所有文件夹的总计值。默认值为 0,仅统计指定路径本身。
--recursive, r
mc-cmd
Optional
递归打印每个存储桶或子文件夹的总计值。
--rewind
mc-cmd
Optional
指示 mc du 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --rewind 与 --versions 一起使用,可显示特定时间点存在的对象版本的磁盘使用量。
--versions
mc-cmd
Optional
指示 mc du 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可显示特定时间点存在的对象版本的磁盘使用量。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看存储桶或文件夹的磁盘使用量
使用 mc du 打印存储桶或文件夹的磁盘使用量摘要:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
查看某个时间点的磁盘使用量
使用 mc du --rewind 打印过去某个特定时间点的磁盘使用量摘要:
- 将
DURATION替换为所需的过去时间点。例如,指定30d以显示当前日期前 30 天的磁盘使用量。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
需要版本控制
要使用此功能,mc du 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
递归查看磁盘使用量
使用 mc du --recursive 递归打印每个文件夹的摘要:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
100 - mc replicate export
语法
mc replicate export 命令将 MinIO 存储桶的 JSON 格式 复制规则 导出到 STDOUT。
以下命令导出 myminio MinIO 部署中 mydata 存储桶的复制配置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 MinIO 部署的 alias,以及要导出复制规则的存储桶或 存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导出现有复制规则
使用 mc replicate export 导出存储桶复制规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
101 - mc support upload
Description
mc support upload 将文件从本地文件系统复制到 SUBNET 工单。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
Syntax
mc support profile 命令具有以下语法:
Parameters
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
FILE
mc-cmd
Required
要上传到 SUBNET 的文件路径。
--comment
mc-cmd
Optional
上传文件时,向 issue 附加一条消息。
--enc
mc-cmd
Optional
对上传内容进行加密。 用于加密的密钥仅 MinIO 可访问。
--issue
mc-cmd
Optional
指定要添加该文件的 issue 编号。 如果未指定,则文件会上传到通用 issue 编号 0。
Global Flags
此命令支持 全局标志 中的任意选项。
Examples
Upload a file to an issue
此命令将本地文件系统中的文件 ./trace.log 上传到别名为 minio1 的部署对应的 SUBNET issue 10001。
Upload a file to an issue with a comment for MinIO Engineers
此命令将本地文件系统中的文件 ./trace.log 上传到别名为 minio1 的部署对应的 SUBNET issue 10001。 该命令还会附加一条关于该文件的注释,供 MinIO Engineers 查看。
102 - mc encrypt
描述
mc encrypt 命令用于设置、更新或禁用存储桶默认的服务端加密(SSE)模式。 MinIO 会使用指定的 SSE 模式自动加密对象。
子命令
mc encrypt 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
103 - mc replicate import
语法
mc replicate import 命令从 STDIN 为 MinIO 存储桶导入 JSON 格式的 replication rules。
以下命令为 myminio MinIO 部署上的 mydata 存储桶导入复制配置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需。MinIO 部署的 alias,以及要导入复制规则的存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导入现有复制规则
使用 mc replicate import 导入存储桶复制规则:
行为
导入配置会覆盖现有规则
mc replicate import 会将当前存储桶复制规则替换为导入的 JSON 配置中定义的规则。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
104 - mc event
描述
mc event 命令支持添加、删除和列出存储桶事件通知。
MinIO 会自动将触发的事件发送到已配置的通知目标。 MinIO 支持 AMQP (RabbitMQ)、Redis、ElasticSearch、NATS 和 PostgreSQL 等通知目标。 有关更多信息,请参阅 MinIO 存储桶通知。
子命令
mc event 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
105 - mc find
语法
mc find 命令支持在 MinIO 部署上搜索对象。 你也可以使用该命令在文件系统上搜索文件。
以下命令会在 myminio MinIO 部署的 mydata 存储桶中, 搜索所有匹配指定模式的对象:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
对于 MinIO 或 S3 兼容主机上的对象,指定 alias 和完整搜索路径(例如存储桶与前缀)。 例如:
对于文件系统上的对象,指定要搜索的完整路径。 例如:
执行 mc find ALIAS 且不带其他参数时,会返回指定路径下 所有 对象或文件的列表,行为类似 mc ls。
--exec
mc-cmd
Optional
对 mc find 返回的每个对象启动一个外部进程。 支持对输出进行 替换格式化。
--ignore
mc-cmd
Optional
排除名称匹配指定 通配符模式 的对象。
--larger
mc-cmd
Optional
匹配所有大于指定大小的对象,大小单位见 units。
--maxdepth
mc-cmd
Optional
将目录遍历限制为指定深度。
--metadata
mc-cmd
Optional
新增: mc
RELEASE.2023-04-12T02-21-51Z
仅用于 MinIO 部署。
返回元数据匹配指定 key=value 的对象。 使用格式 --metadata="KEY=value"。
你可以传入值为空的 key。 在这种情况下,mc find 会匹配不包含该元数据 key 的对象,或该元数据 key 的值为空的对象。
你可以多次使用该选项,以匹配更多元数据 key。 要返回对象,该对象必须在所有元数据 key 上都匹配。
--name
mc-cmd
Optional
返回名称匹配指定 通配符模式 的对象。
--newer-than
mc-cmd
Optional
匹配晚于指定天数的对象。 指定 #d#hh#mm#ss 格式的字符串。 例如:--older-than 1d2hh3mm4ss
变更: RELEASE.2025-02-04T04-57-50Z
日期时间也可以使用 YYYY-MM-DD HH:MM:SS TMZ 格式的绝对时间指定。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket。
--older-than
mc-cmd
Optional
匹配早于指定时间限制的对象。指定 #d#hh#mm#ss 格式的字符串。 例如:--older-than 1d2hh3mm4ss
变更: RELEASE.2025-02-04T04-57-50Z
日期时间也可以使用 YYYY-MM-DD HH:MM:SS TMZ 格式的绝对时间指定。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket。
默认为 0(所有对象)。
--path
mc-cmd
Optional
返回名称匹配指定 通配符模式 的目录内容。
--print
mc-cmd
Optional
将结果打印到 STDOUT。 支持对输出进行 替换格式化。
--regex
mc-cmd
Optional
返回名称匹配指定 PCRE 正则表达式模式的对象 或目录内容。
--tags
mc-cmd
Optional
新增: mc
RELEASE.2023-04-12T02-21-51Z
仅用于 MinIO 部署。
返回标签匹配指定 RE2 RegEx pattern 的对象。 使用格式 --tag="KEY=regexValue"。
你可以传入值为空的 key。 在这种情况下,mc find 会匹配不包含该元数据 key 的对象,或该元数据 key 的值为空的对象。
你可以多次使用该选项,以匹配更多标签。 要返回对象,该对象必须在所有标签上都匹配。
--smaller
mc-cmd
Optional
匹配所有小于指定大小的对象, 大小单位见 units。
--versions
mc-cmd
Optional
在结果中包含对象的所有版本。
--watch
mc-cmd
Optional
持续监控 ALIAS,并返回任何 匹配指定条件的新对象。
全局标志
此命令支持 全局标志 中的任意选项。
示例
在存储桶中查找特定对象
在存储桶中按文件扩展名查找对象
查找所有匹配文件并复制到 S3 服务
将 mc find 与 --exec 选项结合使用,可在本地文件系统中查找 文件,并将其传递给 mc 命令进行进一步处理。以下示例使用 mc cp 将 mc find 的输出复制到 S3 兼容主机。
- 将
FILEPATH替换为要搜索目录的 完整文件路径。 - 将
EXTENSION替换为对象的文件扩展名。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上的存储桶路径。
如需持续监视指定目录并复制新对象, 请添加 --watch 参数:
查找具有匹配标签的对象
说明
标签匹配仅适用于 MinIO 部署。
- 将
key替换为要匹配的标签键名。 - 将
v*替换为要用于匹配的 RE2 正则表达式。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
BUCKET替换为要搜索的存储桶或前缀。
你可以添加更多 --tags="key=RegExpression" 标志进行匹配。 匹配对象必须满足所有包含的标签条件。
查找具有匹配元数据的对象
说明
元数据匹配仅适用于 MinIO 部署。
- 将
content-type=text/csv替换为要匹配的元数据字段和值的键值对。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
BUCKET替换为要搜索的存储桶或前缀。
你可以添加更多 --tags="metadata=value" 标志进行匹配。 匹配对象必须满足所有包含的元数据字段条件。
行为
计量单位
mc find --smaller 和 mc find --larger 标志 接受以下不区分大小写的后缀,用于表示指定大小值的单位:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 千字节) |
g |
GB(吉字节,1000 兆字节) |
t |
TB(太字节,1000 吉字节) |
ki |
KiB(Kibibyte,1024 字节) |
mi |
MiB(Mebibyte,1024 Kibibytes) |
gi |
GiB(Gibibyte,1024 Mebibytes) |
ti |
TiB(Tebibyte,1024 Gibibytes) |
省略后缀时默认单位为 bytes。
替换格式
mc find --exec 和 mc find --print 命令 支持字符串替换,对以下关键字具有特殊解释。
以下关键字同时适用于文件系统和 S3 服务目标:
{}- 替换为完整路径。{base}- 替换为路径的 basename。{dir}- 替换为路径的 dirname。{size}- 替换为路径对应对象的大小。{time}- 替换为路径对应对象的修改时间。
以下关键字仅适用于 S3 服务目标:
{url}- 替换为路径的可共享 URL。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
106 - mc get
新增: mc
RELEASE.2024-02-24T01-33-20Z
语法
mc get 命令将对象从目标 S3 部署下载到本地文件系统。
与 mc cp 或 mc mirror 相比,mc get 为下载文件提供了更简化的接口。 mc get 使用单向下载功能,以牺牲效率为代价,换取相较其他命令更低的功能复杂度。
以下命令将文件 logo.png 从 s3 源下载到本地文件系统路径 ~/images/collateral/。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要下载对象的完整路径,包含 alias、存储桶、prefix(如使用)和对象名。
TARGET
mc-cmd
Required
本地文件系统上的目标路径,命令会将下载的文件放置到该路径。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--version-id, --vid
mc-cmd
Optional
检索对象的特定版本。 传入要检索对象的版本 ID。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从 MinIO 检索对象到本地文件系统
以下命令从别名 myminio 下的存储桶 mybucket 检索文件 myobject.csv,并将其放置到本地文件系统路径 /my/local/folder。
从 MinIO 检索加密对象
以下命令检索一个加密文件,并将其放置到本地文件夹路径。
107 - mc head
语法
mc head 命令显示对象的前 n 行, 其中 n 是传递给该命令的参数。
mc head 不会对对象内容执行任何转换或格式化来提升可读性。 你也可以将 mc head 用于本地文件系统,以获得与 head 命令行工具类似的结果。
以下命令返回 myminio MinIO 部署中 mydata 存储桶内某个对象的前 10 行:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出的一个或多个对象。
对于 MinIO 上的对象,请指定 alias 和该对象的完整路径 (例如存储桶和对象路径)。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
对于本地文件系统上的对象,请指定该对象的完整路径。 例如:
--lines, n
mc-cmd
Optional
要输出的行数。
默认为 10。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--rewind
mc-cmd
Optional
指示 mc head 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc head 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看对象的部分内容
使用 mc head 返回对象的前 10 行:
查看对象在某个时间点的部分内容
使用 mc head --rewind 返回对象在过去特定时间点的前 10 行:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该对象在 S3 兼容主机上的路径。 - 将
DURATION替换为过去的某个时间点, 命令会返回该时间点对应的对象。例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc head 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
查看对象指定版本的部分内容
使用 mc head --version-id 返回对象特定版本的前 10 行:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该对象在 S3 兼容主机上的路径。 - 将
VERSION替换为对象版本。 例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc head 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
108 - mc idp ldap
新增: RELEASE.2023-05-26T23-31-54Z
mc idp ldap and its subcommands replace mc admin idp ldap.
描述
mc idp ldap 命令用于管理第三方 Active Directory 或 LDAP 身份与访问管理(IAM)集成 的配置。
mc idp ldap 命令可作为在 设置 AD/LDAP 连接 时使用环境变量的替代方案。它们仅支持 MinIO 部署。
有关如何使用这些命令的教程,请参阅 Active Directory / LDAP 访问管理。
说明
MinIO AD/LDAP 环境变量 会覆盖通过此命令修改或设置的对应配置项。
mc idp ldap 命令包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 - mc idp ldap accesskey
新增: RELEASE.2023-10-30T18-43-32Z
说明
mc idp ldap accesskey 命令可用于列出、删除或显示 LDAP 访问密钥对的信息。
mc idp ldap accesskey 命令仅支持 MinIO 部署。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
mc idp ldap accesskey 命令包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 - mc idp ldap accesskey create-with-login
新增: mc
RELEASE.2024-04-18T16-45-29Z
描述
mc idp ldap accesskey create-with-login 使用基于终端的交互式提示与外部 AD/LDAP 服务器进行身份验证,并生成可供 MinIO 使用的访问密钥。
以下示例会提示用户提供其 AD/LDAP 凭证。 然后使用与该 AD/LDAP 用户关联的一个或多个策略生成新的访问密钥对。
该命令的语法如下:
-
将
URL替换为已配置 AD/LDAP 集成的 MinIO 部署的 FQDN。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
URL
mc-cmd
Required
已配置 AD/LDAP 集成的 MinIO 部署的 FQDN。
例如:
--access-key
mc-cmd
Optional
成功完成身份验证后要使用的访问密钥。 省略此项则由 MinIO 随机生成一个值。
访问密钥不能包含 =(等号)或 ,(逗号)字符。
需要同时指定 --secret-key
--secret-key
mc-cmd
Optional
成功完成身份验证后要使用的 secret key。 省略此项则由 MinIO 随机生成一个值。
需要同时指定 --access-key
--policy
mc-cmd
Optional
账户要使用的 JSON 格式 policy 文件路径。 该策略_不能_授予超出已认证 AD/LDAP 用户关联权限范围之外的额外权限。
省略此项则使用 AD/LDAP 用户关联策略。
--name
mc-cmd
Optional
为创建的访问密钥指定一个便于识别的名称。
--description
mc-cmd
Optional
为服务账户创建描述。 例如,你可以说明该访问密钥存在的原因。
--expiry-duration
mc-cmd
Optional
访问密钥对保持可用的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--expiry
mc-cmd
Optional
访问密钥的过期日期。 以 YYYY-MM-DD 格式输入日期。
例如,要让凭证在 2024 年 12 月 31 日后过期,输入 2024-12-31。
与 --expiry-duration 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
示例
为已认证用户创建新的访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该命令会输出随机生成的 access key 和 secret key。
使用自定义 access key 和 secret key 创建新的访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对,其中 access key 和 secret key 都由你指定。
创建 24 小时后过期的新访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该凭证会在 24 小时后过期。
该命令会输出随机生成的 access key 和 secret key。
创建在指定日期后过期的新访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该凭证会在 2025 年 2 月 28 日后过期。
该命令会输出随机生成的 access key 和 secret key。
111 - mc idp ldap policy
新增: RELEASE.2023-05-26T23-31-54Z
mc idp ldap policy 及其子命令替代 mc admin idp ldap policy。
说明
mc idp ldap policy 命令用于显示策略与关联组或用户之间的映射关系。
mc idp ldap policy 命令仅支持 MinIO 部署。
mc idp ldap policy 命令包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
112 - mc idp openid
新增: RELEASE.2023-05-26T23-31-54Z
mc idp openid 及其子命令取代 mc admin idp openid。
描述
mc idp openid 命令允许你管理第三方 OpenID 身份与访问管理(IAM)集成 的配置。
在 设置 OpenID 连接 时,可通过定义配置项作为使用环境变量的替代方式。mc idp openid 命令仅支持 MinIO 部署。
说明
MinIO OpenID 环境变量 会覆盖通过此命令修改或设置的对应配置项。
mc idp openid 命令包含以下子命令:
| 子命令 | 说明 |
|---|---|
mc idp openid add |
创建 OpenID IDP 服务器配置。 |
mc idp openid update |
修改现有 OpenID IDP 服务器配置。 |
mc idp openid rm |
从部署中移除 OpenID IDP 服务器配置。 |
mc idp openid ls |
输出部署中现有 OpenID 服务器配置列表。 |
mc idp openid info |
显示指定 OpenID 服务器配置的详细信息。 |
mc idp openid enable |
启用 OpenID 服务器配置。 |
mc idp openid disable |
禁用 OpenID 服务器配置。 |
配置参数
mc idp openid 子命令支持配置参数。 这些参数定义服务器与 IAM 提供方的交互方式。
有关配置参数的更详细说明,请参阅 配置项文档。
语法
add
mc-cmd
为 OpenID 提供方创建一组新的配置。
你可以多次运行该命令,以设置多个 OpenID 提供方。
添加多个 OpenID 提供方时,只能有一个是基于 JWT Claim 的提供方。 其余都必须是基于角色的提供方。
以下示例为 myminio 部署创建配置项,定义一个新的 test-config 用于 Dex 集成。
update
mc-cmd
修改 OpenID 提供方现有的一组配置。
以下示例修改 myminio 部署中 test-config 的两个配置项,该配置用于 Dex 集成。
rm, remove
mc-cmd
移除 OpenID 提供方现有的一组配置。
以下示例移除 myminio 部署中的 test-config 配置。
ls, list
mc-cmd
输出 OpenID 提供方现有配置集列表。
以下示例输出为 myminio 部署定义的全部 OpenID 配置集列表。
info
mc-cmd
输出 OpenID 提供方现有服务器配置集中定义的一组值。
以下示例输出 myminio 部署中 test_config 这组 OpenID 设置定义的配置项。
enable
mc-cmd
开始使用 OpenID 提供方现有的一组配置。
以下示例启用 myminio 部署中定义为 test_config 的服务器配置。
disable
mc-cmd
停止使用 OpenID 提供方的一组配置。
以下示例禁用 myminio 部署中定义为 test_config 的服务器配置。
全局标志
此命令支持 全局标志 中的任意选项。
113 - mc ilm
描述
mc ilm 命令用于管理 MinIO 部署中的 对象生命周期管理规则 和分层。
使用这些命令可以:
子命令
mc ilm 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
114 - mc legalhold
描述
mc legalhold 命令用于为一个或多个对象设置、移除或获取 object legal hold (WORM) 配置。
子命令
mc legalhold 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
115 - mc license
说明
mc license 命令用于管理 MinIO SUBNET 的集群注册。 可使用这些命令注册部署、显示集群当前许可证信息,或更新集群的许可证密钥。
子命令
mc license 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
使用 |
116 - mc ls
语法
mc ls 命令用于列出 MinIO 或其他 S3 兼容服务上的存储桶和对象。
你也可以对本地文件系统使用 mc ls,生成与 ls 命令类似的结果。
以下命令列出 myminio MinIO 部署中 mydata 存储桶内的所有对象 及 对象版本:
输出类似如下:
STANDARD表示存储在 MinIO 部署上的对象WARM表示存储在同名远端层中的对象videos/表示对象的前缀
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要复制的一个或多个对象。
对于列出 MinIO 上的对象, 指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。例如:
对于列出本地文件系统上的对象,指定该对象的完整路径。 例如:
如果你在 ALIAS 中指定的是目录或存储桶,则还必须 指定 --recursive,以递归列出该目录或存储桶的内容。 如果省略 --recursive 参数,ls 仅列出指定目录或存储桶 顶层的对象。
incomplete, -I
mc-cmd
可选 返回指定 ALIAS 存储桶上的所有未完成上传。
--recursive, r
mc-cmd
可选 递归列出 ALIAS 中各存储桶或目录的内容。
--rewind
mc-cmd
Optional
指示 mc ls 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --rewind 和 --versions,可显示在特定时间点存在的对象版本。
--versions
mc-cmd
Optional
指示 mc ls 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --versions 和 --rewind,可显示在特定时间点存在的对象版本。
--summarize
mc-cmd
可选 显示指定 ALIAS 路径的汇总信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶内容
使用 mc ls 列出存储桶内容:
-
将
PATH替换为 S3 兼容主机上 存储桶的路径。如果指定的是 S3 根路径(仅
ALIAS),请包含--recursive选项。
列出对象版本
使用 mc ls --versions 列出对象的所有版本:
需要版本控制
要使用此功能,mc ls 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
列出某个时间点的存储桶内容
使用 mc ls --versions 列出对象的所有版本:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上 存储桶或对象的路径。 - 将
DURATION替换为过去的某个时间点, 命令将在该时间点返回对象。例如,指定30d以返回相对于当前日期 往前 30 天的对象版本。
需要版本控制
要使用此功能,mc ls 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
117 - mc mb
语法
mc mb 命令在指定路径创建新的存储桶或目录。
你也可将 mc mb 用于本地文件系统,实现与 mkdir -p 命令行工具类似的效果。
以下命令会在 myminio MinIO 部署上创建一个新的存储桶 mydata。 该命令创建的存储桶将 启用对象锁定。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要在其上创建新存储桶的 MinIO 或其他 S3 兼容服务。
如果要在 MinIO 上创建存储桶,请指定 alias 和存储桶名称。例如:
如果要在本地文件系统上创建目录,请指定该目录的完整 路径。例如:
--ignore-existing, p
mc-cmd
Optional
指示 mc mb 在存储桶或目录已存在时不执行任何操作。
--region
mc-cmd
Optional
指定创建存储桶的区域。 如果指定的 ALIAS 是文件系统目录,则该选项无效。
如果未指定,默认值为 us-east-1。
--with-lock, l
mc-cmd
Optional
在指定存储桶上启用 对象锁定。 对象锁定要求并因此隐含启用对象版本控制。
--with-versioning
mc-cmd
Optional
在新存储桶上启用 对象版本控制。 启用版本控制后,默认情况下 MinIO 允许每个对象的版本数最多达到 Int64 最大值,即超过 9.2 quintillion。 可定义 对象过期 规则,清理不再需要的对象版本,例如按版本数量或版本日期删除。
存储桶复制 或 站点复制 需要版本控制。 版本控制不隐含也不要求对象锁定。
全局标志
此命令支持 全局标志 中的任意选项。
示例
创建启用对象锁定的存储桶
使用 mc mb 在 S3 兼容主机上创建存储桶。 --with-lock 选项创建启用锁定的存储桶:
在指定区域创建新存储桶
使用 mc mb 在 S3 兼容主机上创建存储桶。 --region 选项在目标区域创建该存储桶。
上述命令会在 us-west-2 区域中的 myminio 上创建新存储桶 mynewbucket。
创建启用版本控制的新存储桶
上述命令会在 myminio alias 上创建新的存储桶 myversionedbucket。 新存储桶为桶内所有对象启用 对象版本控制。
行为
每个部署的存储桶限制
MinIO 不限制你在单个部署上可创建的存储桶数量。 但作为通用指导,MinIO 建议每个部署的存储桶数量不超过 500,000。
非 MinIO S3 服务的存储桶限制
某些 S3 服务可能限制单个用户或账户可创建的存储桶数量。 例如,Amazon S3 将每个账户限制为 100 buckets。如果用户在目标 S3 服务上达到存储桶上限,mc mb 可能返回错误。
MinIO 对象存储部署不限制每个用户可创建的 存储桶数量。
在创建存储桶时启用对象锁定
MinIO 遵循 AWS S3 behavior, 要求你 必须 在创建存储桶时启用 对象锁定。 未启用对象锁定创建的存储桶 永远 无法启用对象保留或锁定。
启用存储桶锁定并 不会 设置任何对象锁定或保留配置。 建议将启用存储桶锁定作为标准实践。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
118 - mc mirror
语法
mc mirror 命令用于将内容同步到 MinIO 部署,类似于 rsync 工具。 mc mirror 支持以文件系统、MinIO 部署和其他 S3 兼容主机作为同步源。
说明
mc mirror 仅同步当前对象,不包含任何版本信息或元数据。 若要同步对象的版本历史和元数据,可考虑对 bucket replication 使用 mc replicate,或对 site replication 使用 mc admin replicate。
以下命令将本地文件系统目录中的内容同步到 myminio MinIO 部署上的 mydata 存储桶。
该命令会“监视”本地文件系统中新增或删除的文件,并将这些操作同步到 MinIO,直到显式终止。
mc mirror --watch 会把本地文件系统中发生变更的文件更新到 MinIO(参见 --overwrite)。 --watch 不会删除 MinIO 中本地文件系统不存在的其他文件(参见 --remove)。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要同步到 TARGET S3 主机的文件或对象。
对于 S3 兼容主机上的对象,请将对象路径指定为 ALIAS/PATH,其中:
对于文件系统中的文件,请指定文件或目录的完整文件系统路径:
若指定的是目录,mc mirror 会同步该目录中的所有文件。
TARGET
mc-cmd
Required
mc mirror 用于同步 SOURCE 对象的目标存储桶完整路径。将 TARGET 指定为 ALIAS/PATH,其中:
ALIAS是已配置 S3 兼容主机的alias,并且PATH是存储桶路径。
mc mirror 在同步到 TARGET 存储桶时,会使用 SOURCE 中对象或文件的名称。
--active-active
mc-cmd
Optional
在两个站点之间建立 active-active 镜像活动。 必须在每个站点上重复执行该命令。
例如:
在站点 A 上,将 A 镜像到 B
在站点 B 上,将 B 镜像到 A
--attr
mc-cmd
Optional
为镜像对象添加自定义元数据。将键值对指定为 KEY=VALUE\;。 例如:--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
有效值为: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志要求服务端支持 trailing headers,并适用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
为本次同步会话禁用 multipart 上传。
--dry-run
mc-cmd
Optional
执行一次模拟镜像操作。 使用该操作可测试 mc mirror 是否只会镜像预期的对象或存储桶。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--exclude
mc-cmd
Optional
排除 SOURCE 路径中与指定对象 name pattern 匹配的对象。
--exclude-bucket
mc-cmd
Optional
新增: mc
RELEASE.2024-03-03T00-13-08Z
排除 SOURCE 路径中与指定存储桶 name pattern 匹配的存储桶。
--exclude-storageclass
mc-cmd
Optional
排除 SOURCE 上具有指定存储类的对象。 可在同一命令中多次使用该标志,以排除多个存储类中的对象。
可用于排除需要重新水化或恢复的存储类对象,例如从 AWS S3 存储桶迁移时,某些对象使用 GLACIER 或 DEEP_ARCHIVE 存储类。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--md5
mc-cmd
Optional
强制所有上传计算 MD5 校验和。
--monitoring-address
mc-cmd
Optional
创建一个用于监控镜像活动的 Prometheus endpoint。 指定创建抓取 endpoint 的本地网络适配器和端口地址。 默认为 localhost:8081)。
--newer-than
mc-cmd
Optional
仅镜像比指定天数更新的对象。 以 #d#hh#mm#ss 格式指定字符串 例如:--newer-than 1d2hh3mm4ss。
--older-than
mc-cmd
Optional
仅镜像早于指定时间阈值的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--overwrite
mc-cmd
Optional
覆盖 TARGET 上的对象。
例如,设想一个正在运行的 mc mirror --overwrite,将内容从 Source 同步到 Destination。
如果 Source 上的对象发生变更,mc mirror --overwrite 会同步并覆盖 Destination 上的同名文件。
如果不使用 --overwrite,当对象已存在于 Destination 时,镜像进程将无法同步该对象。 mc mirror 会记录错误并继续同步其他对象。
--preserve, a
mc-cmd
Optional
在 TARGET 上保留 SOURCE 的文件系统属性和存储桶策略规则。
--region
mc-cmd
Optional
在目标端创建新存储桶时,指定 string 区域。
默认为 "us-east-1"。
--remove
mc-cmd
Optional
删除 Target 上 Source 中不存在的对象。
使用 --remove 标志可使 Source 和 Target 拥有相同的对象列表。
例如,Source 上存在对象 A、B、C。 Target 上存在对象 C、D、E。
运行 mc mirror --remove 时,对象 A 和 B 会同步到 Target,对象 D 和 E 会从 Target 删除。 由于对象 C 在两端都已存在,不会有任何内容从 Source 移动到 Target。
操作完成后,Source 和 Target 上都只存在对象 A、B、C。
mc mirror --remove 不会校验对象 C 在 Source 和 Target 上的内容是否一致,只检查两端是否都存在名为 C 的对象。 若要确保 Source 与 Target 上对象的名称和内容都一致,请使用 --overwrite 或 --watch。
变更: RELEASE.2023-05-04T18-10-16Z
如果目标路径是不存在的本地文件系统目录,mc mirror --remove 会返回错误。
在早期版本中,如果 directory 不存在,指定 /path/to/directory 会导致删除 /path/to 文件夹。
--retry
mc-cmd
Optional
镜像过程中出现错误时,对每个出错对象执行重试。
--storage-class, sc
mc-cmd
Optional
为 TARGET 上的新对象设置存储类。
有关 S3 存储类的更多信息,请参阅 Amazon 文档:Storage Classes。
--skip-errors
mc-cmd
Optional
新增: mc
RELEASE.2024-01-28T16-23-14Z
跳过镜像过程中产生错误的对象。
--summary
mc-cmd
Optional
完成后输出已同步数据的摘要。
--watch, w
mc-cmd
Optional
使用 --watch 标志可将对象从 Source 镜像到 Target,且 Target 也可以包含 Source 中不存在的其他对象。
--watch会持续将文件从 Source 同步到 Target,直到显式终止- Target 可以包含 Source 中不存在的文件
- 若 Source 中存在同名对象,
--watch会覆盖 Target 上的对象,行为类似--overwrite
默认为 0(所有对象)。
例如,被监视的 Source 上存在对象 A 和 B。 被监视的 Target 上存在对象 A、B、C。
某客户端向 Source 写入对象 D,并删除对象 B。
操作后,Source 上存在对象 A 和 D。 Target 上存在对象 A、C、D。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将本地目录镜像到 S3 兼容主机
使用 mc mirror 将文件从文件系统镜像到 S3 主机:
持续将本地目录镜像到 S3 兼容主机
将 mc mirror 与 --watch 一起使用,可持续将文件从文件系统镜像到 S3 兼容主机;文件系统中新增或删除的对象会在主机端同步新增或删除:
持续将 S3 存储桶镜像到 S3 兼容主机
将 mc mirror 与 --watch 一起使用,可持续将一个 S3 兼容主机上某个存储桶中的对象镜像到另一个 S3 兼容主机;存储桶中新增或删除的对象会同步到目标主机。
- 将
SRCALIAS替换为已配置 S3 兼容主机的alias。 - 将
SRCPATH替换为要镜像的存储桶。 - 将
TGTALIAS替换为已配置 S3 兼容主机的alias。 - 将
TGTPATH替换为目标存储桶。
将对象从 AWS S3 镜像到 MinIO,并跳过 GLACIER 中的对象
将 mc mirror 与 --exclude-storageclass 一起使用,可将对象从 AWS S3 镜像到 MinIO,同时不镜像 GLACIER 或 DEEP_ARCHIVE 存储中的对象。
- 将
SRCALIAS替换为已配置 S3 主机的alias。 - 将
SRCPATH替换为要镜像的存储桶。 - 将
TGTALIAS替换为已配置 S3 主机的alias。 - 将
TGTPATH替换为目标存储桶。
行为
对象失败时镜像继续执行
如果目标上存在同名对象,MinIO 会为重复对象输出错误。 发生错误后,mc mirror 会继续将其他对象从源端镜像到目标端。
对象删除时 MinIO 会裁剪空前缀
mc mirror --watch 命令会持续同步源端和目标端中新增与删除的对象。 这也包括在源端删除对象时,自动删除目标端对应对象。
如需将源端更新的对象同步更新到目标端,请使用 –overwrite。 如需删除目标端中源端不存在的对象,请使用 –remove。
mc mirror --watch 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc mirror --watch 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc mirror --watch 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
119 - mc mv
语法
mc mv 命令将对象从源移动到目标,例如在不同 MinIO 部署之间移动,或 在同一 MinIO 部署的不同存储桶之间移动。 mc mv 还支持在本地文件系统与 MinIO 之间移动对象。
你也可以对本地文件系统使用 mc mv,以获得与 mv 命令行工具类似的结果。
以下命令将对象从 mydata 存储桶移动到 myminio MinIO 部署上的 archive 存储桶:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
:required:
mc-cmd
要移动的一个或多个对象。
若要从 MinIO 存储桶移动对象,请指定 alias 以及对象的完整路径(例如存储桶和对象路径)。例如:
若要从本地文件系统移动对象,请指定该对象的完整路径。例如:
指定多个
SOURCE路径可将多个对象移动到指定的TARGET。mc rm将 最后一个 指定的 alias 或文件系统路径 视为TARGET。例如:如果你为
SOURCE指定的是目录或存储桶, 则还必须指定--recursive以递归移动该目录内容。 如果省略--recursive参数,mv仅会移动 指定目录或存储桶顶层中的对象。
TARGET
mc-cmd
Required
命令会将指定 SOURCE 的对象移动到该存储桶, 这里填写该存储桶的完整路径。请将已配置 S3 服务的 alias 作为 TARGET 路径前缀。
若要从 MinIO 移动对象,请指定 alias 以及对象的完整路径(例如存储桶和对象路径)。例如:
若要从本地文件系统移动对象,请指定该对象的完整路径。例如:
TARGET 对象名可以不同于 SOURCE, 以便在移动操作中同时“重命名”对象。
如果以 --recursive 选项运行 mc mv, mc mv 会将 TARGET 视为 SOURCE 下所有对象的存储桶前缀。
--attr
mc-cmd
Optional
为对象添加自定义元数据。将键值对指定为 KEY=VALUE\;。 例如,--attr key1=value1\;key2=value2\;key3=value3。
--disable-multipart
mc-cmd
Optional
禁用 multipart upload 功能。
Multipart upload 会将对象拆分为多个独立分片。 每个分片可独立上传,且顺序不限。 如果任一分片上传失败,MinIO 会仅重试该分片而不影响其他分片。 上传完成后,这些分片会合并还原为原始对象。
MinIO 建议对大于 100 MB 的对象使用 multipart upload。 有关 multipart upload 的更多信息,请参阅 Amazon S3 documentation
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--newer-than
mc-cmd
Optional
删除比指定天数更新的对象。指定格式为 ##d#hh#mm#ss 的字符串。例如: --newer-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--older-than
mc-cmd
Optional
删除早于指定时间限制的对象。指定格式为 #d#hh#mm#ss 的字符串。例如:--older-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--preserve, a
mc-cmd
Optional
保留 SOURCE 目录、存储桶和对象在文件系统上的属性 以及存储桶策略规则,并应用到 TARGET 存储桶。
--recursive, r
mc-cmd
Optional
将每个 SOURCE 存储桶或目录的内容 递归移动到 TARGET 存储桶。
--storage-class
mc-cmd
Optional
为 TARGET 上的新对象设置存储类别。
有关 S3 storage class 的更多信息,请参阅 Amazon 文档 Storage Classes。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将文件从文件系统移动到 S3-Compatible Host
-
将
FILEPATH替换为要移动文件的完整文件路径。如果指定的是目录路径,请包含
--recursive标志。mc mv在成功移动到目标后,会从源中 移除 这些文件。 -
将
PATH替换为目标存储桶。
将文件从文件系统移动到 S3-Compatible Host 并附带自定义元数据
使用带 --attr 选项的 mc mv, 可为文件设置自定义属性。
- 将
FILEPATH替换为要移动文件的完整文件路径。mc mv在成功移动到目标后,会从源中 移除 该文件。 - 将
ALIAS替换为已配置 S3-compatible host 的alias。 - 将
PATH替换为目标存储桶。 - 将
ATTRIBUTES替换为一个或多个逗号分隔的 键值对KEY=VALUE。每个键值对表示一个属性键及其值。
在 S3-Compatible 服务之间移动存储桶
- 将
SRCALIAS替换为已配置 S3-compatible host 的alias。 - 将
SRCPATH替换为存储桶路径。mc mv在成功移动到目标后,会从源中 移除 该存储桶及其内容。 - 将
TGTALIAS替换为已配置 S3-compatible host 的alias。 - 将
TGTPATH替换为存储桶路径。
将文件移动到 S3-Compatible Host 并指定存储类别
使用带 --storage-class 选项的 mc mv, 可在目标 S3-compatible host 上设置存储类别。
-
将
CLASS替换为要 关联到文件的存储类别。 -
将
PATH替换为目标存储桶。 -
将
ATTRIBUTES替换为一个或多个逗号分隔的 键值对KEY=VALUE。每个键值对表示一个属性键及其值。mc mv –storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket
行为
移动时的对象名称
如果未显式指定目标对象名,在将对象移动到 TARGET 时,MinIO 会使用 SOURCE 的对象名。
你可以在相同对象路径下,为 TARGET 指定不同的对象名,以在移动时“重命名”对象。例如:
对于递归移动操作(mc mv --recursive),MinIO 会将 TARGET 路径视为 SOURCE 上对象的前缀。
校验和验证
mc mv 使用 MD5SUM 校验和验证所有到对象存储的移动操作。
MinIO 在对象删除时会裁剪空前缀
mc mv 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc mv 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc mv 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
120 - mc od
语法
mc od 命令将本地文件按指定的分片数量与分片大小复制到远程位置。 该命令会输出上传该文件所耗费的时间。
使用 mc od 可模拟 Linux dd 命令的功能。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
if
mc-cmd
Required
用于上传的源对象路径。 使用相对于当前位置的完整路径。
of
mc-cmd
Required
上传对象的完整目标路径。
size
mc-cmd
Optional
文件上传时每个分片的大小。 如未指定,MinIO 会根据源流确定分片大小。
parts
mc-cmd
Optional
上传时将对象拆分成的分片数量。 如未指定,MinIO 会根据源流大小确定分片数量。
skip
mc-cmd
Optional
上传过程中要跳过的文件分片数量。 例如,可使用该选项仅上传对象的一部分分片,以测试一个大文件(分片较多)的上传速度。
全局参数
此命令支持 全局标志 中的任意选项。
示例
以 40MiB 分片上传完整文件
使用 mc od 可按指定大小的一组分片将文件上传到 MinIO。 size 选项用于指定期望的分片大小。
- 将
myminio/mybucket/file.zip替换为要上传的对象或文件流路径。 - 将
size替换为期望的对象分片大小。
MinIO 会检查源文件并将其拆分为所需数量的分片,确保没有任何分片超过指定的 40MiB 分片大小。
上传文件的前五个 40 MiB 分片
使用 mc od 可按指定分片大小,将文件的部分分片上传到 MinIO。 size 选项用于指定期望的分片大小。 parts 选项用于指定该对象要使用的总分片数。
在该命令示例中,如果源对象流大于 200MiB(40MiB × 5 个分片),则仅上传文件的前 200MiB。
重要
以这种方式使用该命令可能无法上传对象的全部内容。
将完整文件分 5 个分片上传
将源文件拆分为指定数量的分片,然后把文件的所有分片上传到 MinIO 目标位置。
上述命令会将源文件均分为五个分片,然后上传这些分片。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
121 - mc ping
语法
mc ping 命令对指定目标执行存活性检查。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应运行所在位置的 alias 或前缀完整路径。
--count
mc-cmd
Optional
指定执行检查的次数。
如果未指定,存活性检查会持续执行,直到手动停止。
--error-count
mc-cmd
Optional
指定在退出前允许出现的错误次数。
例如,要在出现五次错误后停止 ping 进程,请使用:
--exit
mc-cmd
Optional
新增: RELEASE.2023-05-30T22-41-38Z
在首次检查成功后退出。
--interval
mc-cmd
Optional
指定请求之间的等待时间(秒)。
默认情况下,命令在两次请求之间等待 1 秒。
--distributed
mc-cmd
Optional
向 MinIO 集群中的所有服务器发送请求。
说明
在可直接访问每个节点或 Pod 的分布式部署中使用此选项。 当节点位于服务(例如负载均衡器)之后时,此标志不起作用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
返回 5 次请求的延迟与存活性
以下命令对别名为 myminio 的部署发送五次存活性检查,输出每次检查结果后结束。
每次请求间隔 5 分钟持续发送存活性检查
以下命令持续发送存活性检查请求,且每次请求之间间隔 5 分钟(300 秒)。
错误次数达到 20 后结束存活性检查
以下命令持续发送存活性检查,直到累计出现 20 次错误:
122 - mc pipe
语法
mc pipe 命令将内容从 STDIN 流式传输到目标对象。
以下命令将 STDIN 的内容写入 S3 兼容存储。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
变更: RELEASE.2023-01-11T03-14-16Z
mc pipe 现已支持并发上传,以提升大流式数据的吞吐量。
参数
TARGET
mc-cmd
Required
命令应运行的 alias 或前缀完整路径。
--attr
mc-cmd
Optional
为对象添加自定义元数据。
将键值对指定为 KEY=VALUE\;,每对之间用反斜杠加分号(\;)分隔。 例如:--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传的对象添加校验和。
有效值为: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志依赖服务器 trailing headers,并可用于 AWS 或 MinIO 目标。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--storage-class, --sc
mc-cmd
Optional
为 TARGET 处的新对象设置存储类别。
关于 S3 存储类别的更多信息,请参见 Amazon 文档。
--tags
mc-cmd
Optional
为 TARGET 应用一个或多个标签。
将键值对列表指定为 KEY1=VALUE1&KEY2=VALUE2,其中每一对表示分配给对象的一个标签。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将 STDIN 内容写入本地文件系统
以下命令将 STDIN 的内容写入本地文件系统中的 /tmp 文件夹。
将 ISO 镜像复制到 S3 存储
以下命令先流式读取 Debian 的 ISO 镜像内容,然后使用该数据流在 S3 路径创建对象。
将 MySQL 数据库转储流式传输到 S3
以下命令先流式传输 MySQL 数据库,再通过 mc pipe 使用该数据流在 S3 上创建备份:
将文件写入 Reduced Redundancy 存储类别
以下命令读取 STDIN 数据流,并在 S3 的 Reduced Redundancy 存储类别中创建对象。
将文件连同元数据复制到 MinIO 部署
以下命令将 MP3 文件上传到 ALIAS 为 myminio、存储桶为 music 的 MinIO 部署。 写入对象时附带 Cache-Control 和 Artist 元数据。
为上传对象设置标签
以下命令在 ALIAS 为 myminio 的 MinIO 部署中,于 mybucket 存储桶创建一个带两个标签的对象。 MinIO 支持为对象最多添加 10 个自定义标签。
123 - mc put
新增: mc
RELEASE.2024-02-24T01-33-20Z
语法
mc put 将对象从本地文件系统上传到目标 S3 部署中的存储桶。
与 mc cp 或 mc mirror 相比,mc put 为文件上传提供了更简化的接口。 mc put 使用单向上传机制,以牺牲效率为代价换取相较其他命令更低的复杂度。
以下示例将本地文件系统路径 ~/images/collateral/ 下的文件 logo.png 上传到别名为 minio 的 MinIO 部署中名为 marketing 的存储桶。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应执行位置的 alias 或前缀的完整路径。 TARGET 必须 包含 alias 和 bucket 名称。
TARGET 还可以包含以下可选组成部分: - 对象应上传到的 PREFIX - 用于替代文件名的 OBJECT-NAME
有效的 TARGET 可以采用以下任一形式: - ALIAS/BUCKET - ALIAS/BUCKET/PREFIX - ALIAS/BUCKET/OBJECT-NAME - ALIAS/BUCKET/PREFIX/OBJECT-NAME
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
可选值包括: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志需要服务器支持 trailing headers,并可用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
禁用分段上传,并指示 mc 通过单次 PUT 操作发送对象。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--parallel, --P
mc-cmd
Optional
对于分段上传,指定对象分段并行上传的数量。
如未定义,默认值为 4。
--part-size, -s
mc-cmd
Optional
指定分段上传中每个分段使用的大小。
如未定义,默认值为 16MiB。
--storage-class, -sc
mc-cmd
Optional
为上传对象设置存储类。
有关存储类的更多信息,请参见 Standard Storage Class。
全局标志
此命令支持 全局标志 中的任意选项。
示例
上传文件并指定对象名称
以下命令将本地文件系统中的文件 logo.png 上传到 minio 部署的 business 存储桶,并在目标端命名为 company-logo.png。
按指定分段大小并行上传分段对象
以下命令以每段 20MiB 的分块方式上传文件,并行上传其中 8 个分段。 系统会持续按批次上传 8 个分段,直到对象的所有分段均上传完成。
124 - mc rb
语法
mc rb 命令用于删除 MinIO 或 其他兼容 S3 服务上的一个或多个存储桶。
如仅需删除存储桶内容,请改用 mc rm。
你也可以对本地文件系统使用 mc rb,其效果与 rm --rf 命令行工具类似。
以下命令删除 myminio MinIO 部署上的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 或其他兼容 S3 服务的 alias,以及要删除的存储桶完整路径。例如:
省略存储桶路径可对 MinIO 部署执行站点范围的存储桶删除操作。 此操作 必须 指定 --dangerous,以明确确认会永久删除该部署上的 全部 数据。例如:
若要删除本地文件系统上的目录及其内容,请指定该目录的完整路径。 如果指定了 --force 标志,也会被忽略。例如:
你可以指定多个 ALIAS 目标,目标可以是 MinIO 或本地文件系统目录。 命令会尝试删除 所有 指定目标。例如:
--force
mc-cmd
必需 用于确认删除存储桶内容的安全标志。
--dangerous
mc-cmd
可选 指示 mc rb 在每个指定的 ALIAS(例如 myminio/)上执行站点范围的全部存储桶删除。
如果任一 ALIAS 指定的是文件系统目录,此选项会删除该目录路径下的所有子目录和文件,效果类似 rm --rf。
警告
执行 mc rb --dangerous 不可逆。 在执行前请尽可能审慎核对,确保命令仅作用于预期的 ALIAS 目标。
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除存储桶
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
125 - mc ready
语法
mc ready 命令用于检查集群状态,以及集群是否具有 read 和 write quorum。
以下命令向别名为 myminio 的集群发送 GET 请求,并返回其状态。
该命令会向 alias myminio 对应的部署发送 GET 请求。 该命令会重复发送请求,直到成功为止。
在别名 myminio 对应的集群就绪之前,输出类似如下:
当请求成功连接到 myminio 部署后,输出类似如下:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令运行目标的完整路径,可为 alias 或前缀。
--cluster-read
mc-cmd
Optional
检查集群是否具有足够的 quorum 来处理 READ 请求。
--maintenance
mc-cmd
Optional
检查当该别名对应节点因维护下线时,集群是否仍可维持 read 和 write quorum。
对预期下线维护的具体节点使用其 alias,而不要使用指向负载均衡器的 alias。
全局标志
此命令支持 全局标志 中的任意选项。
示例
检查集群是否具有 read quorum
以下命令检查某个部署是否有足够可用驱动器来执行读取操作。
检查集群是否处于维护下线场景
以下命令检查当别名 myminio 对应节点下线时,集群在维护期间是否仍可维持 read 和 write quorum。
126 - mc replicate
说明
mc replicate 命令用于为 MinIO 部署配置和管理 服务端存储桶复制,包括 双活复制配置 和 重新同步。
说明
对于多站点复制,请参见 mc admin replicate。
子命令
mc replicate 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 - mc retention
描述
mc retention 命令用于为存储桶中的一个或多个对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认的对象锁定设置;未显式配置对象锁定设置的所有对象都会继承该存储桶默认值。
子命令
mc retention 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
128 - mc rm
语法
mc rm 命令用于从 MinIO 部署的存储桶中 删除对象。 如需彻底删除存储桶,请改用 mc rb。
你也可以对本地文件系统使用 mc rm,以获得与 rm 命令行工具类似的结果。
有关 MinIO 如何对对象执行 DELETE 操作的更多信息,请参见 对象删除。
以下命令从 myminio MinIO 部署的 mydata 存储桶中删除多个对象:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc rm --force 是多个参数的必需项。 mc rm --version-id 与多个 参数互斥。更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要删除对象的完整路径。 例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。 例如:
如果指定的是存储桶或存储桶前缀路径,必须 同时 指定 --recursive 和 --force 参数。例如:
建议先使用 --dry-run 标志运行命令,验证 递归删除操作的范围。
若要从本地文件系统删除文件,请指定该文件的完整路径:
--bypass
mc-cmd
Optional
允许删除受 GOVERNANCE 对象锁保护的对象。
--dangerous
mc-cmd
Optional
当 ALIAS 指定 MinIO 部署的根路径(所有存储桶)时, 允许执行 mc rm。
与 --versions 结合使用时, 此标志会指示 mc rm 永久删除 ALIAS 目标中的所有对象 以及 所有版本。
建议先使用 --dry-run 运行命令, 验证站点范围删除操作的范围。
警告
搭配 --versions 标志运行 mc rm --dangerous 是不可逆操作。执行前请尽可能 审慎核查,确保命令只应用于预期的 ALIAS 目标。
--dry-run
mc-cmd
Optional
输出命令结果,但不会实际删除任何文件。 使用此标志可测试命令配置是否仅删除你希望删除的对象。
--force
mc-cmd
Optional
允许 mc rm 与以下任一参数一起运行:
--incomplete, I
mc-cmd
Optional
删除指定对象的不完整上传。
如果任一 ALIAS 指定了存储桶, 则 必须 同时指定 --recursive 和 --force。
--newer-than
mc-cmd
Optional
删除新于指定时长的对象。请使用 #d#hh#mm#ss 格式的字符串。例如:--newer-than 1d2hh3mm4ss
默认为 0(所有对象)。
--non-current
mc-cmd
Optional
对未启用 版本控制 的存储桶,此选项无效。
--older-than
mc-cmd
Optional
删除早于指定时间限制的对象。请使用 #d#h#m#s 格式的字符串。例如:--older-than 1d2h3m4s。
默认为 0(所有对象)。
--recursive, r
mc-cmd
Optional
递归删除每个 ALIAS 存储桶或存储桶前缀的内容。
如果指定 --recursive,则 必须 同时 指定 --force。
对启用了 版本控制 的存储桶, 此选项默认会为每个被删除对象生成一个删除标记。 添加 --versions 标志可递归删除存储桶中的 所有对象 以及 对象版本。
建议先使用 --dry-run 标志运行命令,验证 递归删除操作的范围。
与 mc rm --version-id 互斥
--rewind
mc-cmd
Optional
指示 mc rm 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--stdin
mc-cmd
Optional
从 STDIN 读取对象名称或存储桶。
--versions
mc-cmd
Optional
指示 mc rm 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可删除某一特定时间点 存在的对象的所有版本。
--version-id, vid
mc-cmd
Optional
指示 mc rm 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除单个对象
递归删除存储桶内容
将 mc rm 与 --recursive 和 --force 选项结合使用, 可递归删除存储桶内容。
此操作 不会 删除存储桶本身。请使用 mc rb 删除存储桶 及其全部内容和关联配置。
删除对象的所有不完整上传文件
将 mc rm 与 --incomplete 选项结合使用, 可删除某个对象的不完整上传文件。
将对象回滚到先前版本
将 mc rm 与 --versions 和 --newer-than 结合使用,可删除新于指定时长的 所有对象版本。这会有效地将对象“回滚”到该时间点的状态。
重要
删除对象的特定版本属于 破坏性 操作。你无法恢复 已删除的对象版本。
- 将
ALIAS替换为已配置的 S3 兼容服务的alias。 - 将
PATH替换为对象路径。 例如:/mybucket/myobject。 - 将
DURATION替换为相对于当前主机时间的过去时长, 操作将从该时间点开始删除对象版本。例如,要删除过去 30 天内 创建的所有对象版本,请指定"30d"。
行为
删除存储桶内容
使用 mc rm 删除存储桶中的全部内容时,不会删除存储桶本身。 与该存储桶关联的配置会保留,例如 default object lock settings。
如需彻底删除存储桶,请使用 mc rb,而不是 mc rm。
MinIO 在删除对象时会清理空前缀
mc rm 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc rm 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc rm 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
版本化存储桶中的删除操作
MinIO 支持在单个存储桶中保留对象的多个 版本。 在版本化存储桶中 删除 对象时, 会生成一种特殊的 DeleteMarker 墓碑记录,将对象标记为已删除, 同时保留该对象的所有先前版本。
- 要从存储桶中删除对象的特定版本,请使用
mc rm --version-id - 要从存储桶中删除对象的所有版本,请使用
mc rm --versions - 要从存储桶中删除对象的所有非当前版本,请使用
mc rm --non-current
变更: mc
RELEASE.2023-03-20T17-17-53Z
输出会显示版本化文件的修改时间。 与 --dry-run 搭配使用时,这有助于确认你选择了正确的删除对象。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
129 - mc share
说明
使用 mc share 命令管理预签名 URL,以便下载和上传 MinIO 存储桶中的对象。
子命令
mc share 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
130 - mc sql
语法
mc sql 命令提供 S3 Select 接口,用于对指定 MinIO 部署中的对象执行 SQL 查询。
有关 S3 Select 的行为和限制,请参阅 Selecting content from objects。
以下命令会查询 myminio MinIO 部署中 mydata 存储桶内的所有对象:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要执行 SQL 查询的存储桶或对象的完整路径。 指定已配置 S3 服务的 alias 作为 ALIAS 路径前缀。 例如:
--query, e
mc-cmd
Required
在指定 ALIAS 目录或对象上执行的 SQL 语句。 将完整 SQL 查询用双引号 " 包裹。
默认为 "select * from S3Object"。
--csv-input
mc-cmd
Optional
.csv 输入对象的数据格式。 指定由逗号分隔的 key=value,... 键值对字符串。 有效键的更多信息请参阅 CSV 格式字段。
--compression
mc-cmd
Optional
输入对象的压缩类型。 指定以下受支持值之一:
GZIPBZIP2NONE(默认)
仅 MinIO 后端支持以下压缩方案:
--csv-output
mc-cmd
Optional
.csv 输出的数据格式。 指定由逗号分隔的 key=value,... 键值对字符串。 有效键的更多信息请参阅 CSV 格式字段。
更多信息请参阅 S3 API CSVOutput。
--csv-output-header
mc-cmd
Optional
.csv 输出文件的表头行。 将逗号分隔的字段字符串指定为 field1,field2,...。
省略该参数则输出不包含表头行的 .csv。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--json-input
mc-cmd
Optional
.json 或 .ndjson 输入对象的数据格式。 将 JSON 内容类型指定为 type=<VALUE>。 值可以是:
更多信息请参阅 S3 API JSONInput。
--json-output
mc-cmd
Optional
.json 输出的数据格式。 支持 rd=value 键,其中 rd 是 JSON 文档的 RecordDelimiter。
省略该参数则使用默认换行符 \n。
更多信息请参阅 S3 API JSONOutput。
--recursive, r
mc-cmd
Optional
使用 --query SQL 语句递归搜索指定的 ALIAS 目录。
全局标志
此命令支持 全局标志 中的任意选项。
示例
选择存储桶内所有对象的所有列
将 mc sql 与 --recursive 和 --query 选项结合使用,可将查询应用到存储桶中的所有对象:
在对象上运行聚合查询
将 mc sql 与 --query 选项结合使用,可查询 MinIO 部署上的对象:
行为
输入格式
mc sql 支持以下输入格式:
| 类型 | content-type 值 |
|---|---|
.csv |
text/csv |
.json |
application/json |
.parquet |
无 |
对于 .csv 文件类型,使用 mc sql --csv-input 指定 CSV 数据格式。 有关 CSV 格式字段的更多信息,请参阅 CSV 格式字段。
对于 .json 文件类型,使用 mc sql --json-input 指定 JSON 数据格式。
对于 .parquet 文件类型,mc sql 会自动解析数据格式。
mc sql 通过目标对象的文件扩展名判断类型。 例如,名为 data.json 的对象会被解释为 JSON 文件。
如果对象具有合适的 content-type,你也可以查询受支持类型但扩展名不同的数据。 更多信息请参阅 mc cp --attr。
CSV 格式字段
下表列出了可用于 mc sql --csv-input 和 mc sql --csv-output 的有效键值对。 某些键值对仅适用于 --csv-input。 有关 S3 CSV 格式的更多信息,请参阅 S3 API CSVInput 文档。
键 |
仅 |
说明 |
|---|---|---|
|
用于分隔输入 对应 S3 API |
|
|
用于分隔一条记录中各字段的字符。默认为 对应 S3 API |
|
|
当 对应 S3 API |
|
|
在已转义值内部,用于转义引号 对应 S3 API |
|
|
是 |
指定以下受支持值之一:
对于 对于 对应 S3 API |
|
是 |
用于指示应忽略某条记录的字符。 该字符 必须 出现在记录开头。 对应 S3 API |
|
是 |
指定 默认为 对应 S3 API |
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
131 - mc stat
语法
mc stat 命令用于显示 MinIO 存储桶中对象的信息,包括对象元数据。 你也可以使用它来检索存储桶元数据。
你可以对本地文件系统使用 mc stat,以获得与 stat 命令行工具类似的结果。
以下命令显示 myminio MinIO 部署中 mydata 存储桶内所有对象的信息:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc stat --version-id 与多个参数互斥。更多信息请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要检索详细信息的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象:
如果指定的是存储桶路径或存储桶前缀路径,则 必须 包含 mc stat --recursive 标志:
要检索本地文件系统中文件的信息,请指定该文件的完整路径:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--no-list
mc-cmd
Optional
如果目标不存在,则禁用所有 LIST 操作。
--recursive, r
mc-cmd
Optional
递归地对 ALIAS 指定的 MinIO 存储桶内容执行 mc stat。
--rewind
mc-cmd
Optional
指示 mc stat 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc stat 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可移除某个特定时间点存在的所有对象版本。
--version-id, vid
mc-cmd
Optional
指示 mc stat 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示对象详情
以下示例显示存储桶 mybucket 中对象 myfile.txt 的详细信息:
输出类似如下:
你可以通过添加多个路径来指定多个对象:
要显示存储桶中所有对象的详细信息,请使用 --recursive。 以下示例显示存储桶 mybucket 中所有对象的详细信息:
输出类似如下:
显示存储桶详情
以下示例显示 myminio MinIO 部署上存储桶 mybucket 的信息:
输出类似如下:
存储桶中的对象数量
要显示存储桶中的对象数量,请使用 --json 并通过 JSON 解析器提取 objectsCount 的值:
以下示例使用 jq 工具:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
132 - mc support
描述
MinIO Client mc support 命令提供用于分析部署健康状况或性能、并运行诊断的工具。 你还可以上传生成的健康报告,供 MinIO 工程团队进一步分析。
重要
mc support 命令需要有效的 MinIO SUBNET 注册。
mc support proxy set 和 mc support proxy remove 是例外,因为你可能需要先配置代理才能完成部署注册。
子命令
mc support 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
使用 |
|
|
|
使用 |
|
|
133 - mc tag
说明
mc tag 命令用于添加、删除和列出与存储桶或对象关联的标签。
MinIO 支持为对象最多添加 10 个自定义标签。
子命令
mc tag 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
134 - mc tree
语法
mc tree 命令以树形格式列出 MinIO 存储桶中的所有前缀。 该命令还可选支持在每个前缀处列出存储桶内的所有对象,包括存储桶根。
你也可以将 mc tree 用于本地文件系统目录, 获得与 tree 命令行工具类似的结果。
以下命令会打印 myminio MinIO 部署中 mydata 存储桶内 任意深度的全部对象树:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias 和存储桶的完整路径, 用于列出树形层级。例如:
你可以为 mc tree 命令指定多个目标。例如:
如需获取本地文件系统目录的树形层级, 请指定该目录的完整路径。例如:
--depth, d
mc-cmd
可选 将树深度限制为指定的整数值。
默认为 -1,即不限制深度。
--files, f
mc-cmd
可选 在 mc tree 输出中包含对象或目录中的文件。
--rewind
mc-cmd
Optional
指示 mc tree 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
示例
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
135 - mc undo
语法
mc undo 命令用于撤销指定路径上由 PUT 或 DELETE 操作引起的更改。
以下命令会回滚 myminio 部署中 data 存储桶内 file.zip 对象最近三次上传和/或删除操作:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应执行的对象或前缀的完整路径。 路径必须包含 ALIAS、存储桶以及前缀或对象名称。
--action
mc-cmd
Optional
撤销指定类型的最近一次更改。 可接受的值为 DELETE 或 PUT。
默认情况下,mc undo 会同时回滚 DELETE 和 PUT 操作。 使用 --action 可在两者中选择其一,但仅针对该类型最近的一次操作。
以下命令会回滚 data 存储桶中对象 today.zip 最近一次 PUT,恢复到该对象的上一版本:
以下示例会回滚前缀 archive 最近一次 DELETE,并递归恢复该前缀及其所有子对象:
与 --last 互斥。
--dry-run
mc-cmd
Optional
输出命令结果,但不实际执行操作。 使用此标志可测试按特定方式运行命令时的结果。
--force
mc-cmd
Optional
强制执行递归操作。
--last
mc-cmd
Optional
接受一个整数值,用于指定要撤销的 PUT 和/或 DELETE 更改次数。
若未指定,命令默认回滚一次(1)操作。 与 --action 互斥。
--recursive, r
mc-cmd
Optional
以递归方式执行命令。 例如,可使用此标志撤销某个前缀上的更改。
全局标志
此命令支持 全局标志 中的任意选项。
示例
撤销对象最近三次上传或删除
以下命令会回滚 myminio 部署中 data 存储桶内 file.zip 对象最近三次上传和/或删除操作:
撤销某个前缀下任意对象最近一次上传或删除
使用 mc undo 回滚在 myminio 别名下、data 存储桶中 presentations/recordings/ prefix 内最近一次 PUT 或 DELETE 操作:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
136 - mc update
语法
Pigsty 维护版客户端为保持命令行兼容而保留 mc update,但 刻意禁用了自更新。该命令不会访问发布源、下载二进制,也不会替换已安装的 mc/mcli;它会打印错误并以状态码 1 退出。
请通过下载与安装、Pigsty 软件仓库或 GitHub Releases升级。
以下命令会报告自更新已禁用,并以状态码 1 退出:
该命令的语法如下:
- 方括号
[]表示可选参数。 RELEASE-URL仅为兼容性而接受,不会被访问。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
非 JSON 模式的错误文本为:
全局参数
--json
mc-cmd
Optional
把“更新已禁用”的错误格式化为一条 JSON Lines 对象。该参数不会启用更新。
例如:
137 - mc version
描述
mc version 命令可为 MinIO 存储桶启用、禁用并获取 版本控制 状态。
有关 MinIO 中对象版本控制的更多信息,请参见 存储桶版本控制。
mc version 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
行为
对象锁定会启用存储桶版本控制
虽然默认禁用存储桶版本控制,但在存储桶上或该存储桶中的对象上配置对象锁定时,会自动为该存储桶启用版本控制。 有关配置对象锁定的更多信息,请参见 mc retention。
现有数据下的存储桶版本控制
在包含现有数据的存储桶上启用版本控制时,会立即为每个未版本化对象创建一个 null 值版本 ID。
在包含现有已版本化数据的存储桶上禁用版本控制时,不会 删除任何已版本化对象。 禁用存储桶版本控制后,应用程序仍可继续访问已版本化数据。 使用 mc rm --versions ALIAS/BUCKET/OBJECT 删除某个对象 及其 所有版本。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
138 - mc watch
语法
mc watch 命令用于监视指定 MinIO 存储桶或本地文件系统路径上的事件。 对于 S3 服务,请使用 mc event add 在兼容 S3 的服务上配置存储桶事件通知。
你也可以将 mc watch 用于本地文件系统目录, 以获得与运行 inotify -e modify,create,delete,move 命令类似的结果。
以下命令会监视 myminio MinIO 部署中 mydata 存储桶内任意对象或前缀上的 事件:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias 以及要监视已配置事件的存储桶完整路径。 例如:
--event
mc-cmd
要监视的事件。使用英文逗号 , 分隔可指定多个事件。 支持的事件见 支持的存储桶事件。
默认值为 put,delete, get。
--prefix
mc-cmd
在该存储桶前缀下监视 --event 指定的事件。
例如,若 ALIAS 为 play/mybucket,且 --prefix 为 photos,则仅 play/mybucket/photos 中的事件会触发存储桶通知。
--recursive, r
mc-cmd
在指定的 ALIAS 存储桶路径或本地目录中递归监视事件。
--suffix
mc-cmd
在该存储桶后缀下监视 --event 指定的事件。
例如,若 ALIAS 为 play/mybucket,且 --suffix 为 .jpg,则仅 play/mybucket/*.jpg 中的事件会触发存储桶通知。
全局标志
--json
mc-cmd
Optional
启用 JSON lines 格式的控制台输出。
例如:
示例
监视存储桶中的事件
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
139 - mc idp ldap accesskey create
新增: mc
RELEASE.2023-12-23T08-47-21Z
描述
mc idp ldap accesskey create 允许添加 LDAP 访问密钥对。
以下示例在
minioalias 上创建一个新的访问密钥对,并使用与已认证用户相同的策略:
该命令具有以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
--access-key
mc-cmd
Optional
用于该账户的访问密钥。 访问密钥不能包含 =(等号)或 ,(逗号)字符。
需要 --secret-key
--secret-key
mc-cmd
Optional
用于该账户的密钥。
需要 --access-key
--policy
mc-cmd
Optional
账户要使用的 JSON 格式策略文件路径。
如果未指定,账户将使用与已认证用户相同的策略。
--name
mc-cmd
Optional
用于该账户的人类可读名称。
--description
mc-cmd
Optional
为服务账户添加描述。 例如,你可以说明创建该访问密钥的原因。
--expiry-duration
mc-cmd
Optional
访问密钥对保持有效的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--expiry
mc-cmd
Optional
访问密钥在该日期之后过期。 日期请使用 YYYY-MM-DD 格式输入。
例如,要使凭证在 2024 年 12 月 31 日之后过期,请输入 2024-12-31。
与 --expiry-duration 互斥。
--login
mc-cmd
Optional
已弃用: RELEASE.2024-04-18T16-45-29Z
使用 mc idp ldap accesskey create-with-login 获取此前由该参数提供的功能。
提示用户使用 LDAP 凭证登录以生成访问密钥。 指定用于登录提示的、已配置 LDAP 的 MinIO Server URL。
需要交互式终端。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
示例
为已认证用户创建新的访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该命令会输出随机生成的访问密钥和密钥。
使用自定义访问密钥和密钥创建新的访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对,其中访问密钥和密钥都由你指定。
创建 24 小时后过期的新访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该凭证会在 24 小时后过期。
该命令会输出随机生成的访问密钥和密钥。
创建新的访问密钥并提示以该用户身份登录
以下命令会创建一个新的访问密钥对。 MinIO Client 会先要求你在 minio.example.com 上已配置 LDAP 的 MinIO 站点中,以该访问密钥所属用户身份登录。
该命令会输出随机生成的访问密钥和密钥。
创建在指定日期后过期的新访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该凭证会在 2024 年 2 月 29 日之后过期。
该命令会输出随机生成的访问密钥和密钥。