mc ilm edit
Changed in version RELEASE.2022-12-24T15-21-38Z: mc ilm edit 已被 mc ilm rule edit 取代。
语法
mc ilm edit 命令用于修改 MinIO 存储桶上现有的对象生命周期管理规则。
以下命令用于修改 myminio 部署上 mydata 存储桶的现有生命周期管理规则:
mc ilm edit --id "c79ntj94b0t6rukh6lr0" --expiry-days 90 mydata/myminio
mc ilm edit --id "c79nu2p4b0t6qko19rgg" --expired-object-delete-marker mydata/myminio
mc ilm edit --id "c79n19dn10dnab109fg1" --transition-days 30 --tier "COLDTIER"
该命令按如下方式修改指定规则:
删除对象创建时间超过 90 天的对象。
如果对象没有其他剩余版本,则删除
DeleteMarker墓碑标记。将对象创建时间超过 30 天的对象转移到
COLDTIER远程层。
命令语法如下:
mc [GLOBALFLAGS] ilm edit \
--id "string" \
[--prefix "string"] \
[--enable] \
[--disable] \
[--expiry-days "string" | --expired-object-delete-marker] \
[--transition-days "string"] --tier "string" \
[--noncurrentversion-expiration-days "string"] \
[--noncurrentversion-transition-days "string" --noncurrentversion-tier "string"] \
[--tags] \
ALIAS
方括号
[]表示可选参数。同一行中的参数彼此相互依赖。
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
- ALIAS
- Required
需要指定 MinIO 部署的 alias 以及要修改对象生命周期管理规则的存储桶完整路径。例如:
mc ilm edit myminio/mydata
- --id
- Required
规则的唯一 ID。使用
mc ilm rule ls列出存储桶规则,并获取要修改规则的id。
- --prefix
- Optional
将管理规则限制到特定的存储桶前缀。
例如:
mc ilm edit --prefix "meetingnotes/" myminio/mydata/ --expiry-days "90"
该命令修改一条规则:对
myminioALIAS 中mydata存储桶内所有带有meetingnotes/前缀的对象,在 90 天后过期。
- --expiry-days
- Optional
对象创建后保留的天数。达到指定天数后,MinIO 会将对象标记为待删除。
使用此选项时请谨慎,其行为可能导致已上传对象立即过期。任何在指定过期日期*之后*创建的对象都会自动满足过期条件。 同样地,如果指定的日历日期*早于*当前系统主机时间日期,则规则覆盖的所有对象都会被标记为删除。 一旦指定日历日期已过,建议立即移除使用此选项的 ILM 规则。
对于启用版本控制的存储桶,过期规则仅适用于*当前*对象版本。 使用
--noncurrentversion-expiration-days选项可将过期行为应用于非当前对象版本。MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
与以下选项互斥:
更多信息请参见 对象删除。
- --expired-object-delete-marker
- Optional
指定此选项可指示 MinIO 删除没有剩余对象版本的对象的删除标记。 具体而言,删除标记是给定对象唯一剩余的“版本”。
此选项与以下选项互斥:
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器 和 对象删除。
- --noncurrentversion-expiration-days
- Optional
对象版本变为*非当前*(即该对象的另一个版本现在是 HEAD)后保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
此选项的行为与 S3
NoncurrentVersionExpiration操作一致。MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
- --noncurrentversion-transition-days
- Optional
对象处于非当前状态(即已被同一对象的新版本替换)达到指定天数后, MinIO 会将该对象版本标记为可转移。 系统主机时间日期超过该日历日期后,MinIO 会将对象转移到
--tier指定的远程存储层。此选项对未启用版本控制的存储桶无效。必须同时指定
--noncurrentversion-tier。此选项的行为与 S3
NoncurrentVersionTransition操作一致。MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
- --noncurrentversion-tier
- Optional
MinIO 将 非当前对象版本转移 到的远程存储层。 指定一个由
mc admin tier创建的远程存储层。MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 对于存储在旧远程层上的对象,MinIO 仍会继续路由请求。
- --newer-noncurrentversions-expiration
- Optional
应用过期规则前要保留的对象非当前版本数量。 超过指定数量的更旧非当前版本会过期。
默认情况下,当过期规则生效时,MinIO 不保留任何非当前版本。
- --newer-noncurrentversions-transition
- Optional
要保留在当前存储层上的对象非当前版本数量。 超过指定数量的更旧非当前版本会转移到指定层。
默认情况下,当转移规则生效时,MinIO 会转移所有非当前版本。
- --transition-days
- Optional
对象创建后经过的日历天数,超过该值后 MinIO 会将对象标记为可转移。 MinIO 会将对象转移到
--tier指定的远程存储层。对于启用版本控制的存储桶,转移规则仅适用于*当前*对象版本。 使用
--noncurrentversion-transition-days选项可将转移行为应用于非当前对象版本。必须同时指定
--tier。MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
- --tier
- Optional
MinIO 将 对象转移 到的远程存储层。 指定一个由
mc admin tier创建的远程存储层。若指定
--transition-days,则此选项为必需。MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 对于存储在旧远程层上的对象,MinIO 仍会继续路由请求。
全局标志
此命令支持 全局标志 中的任意选项。
示例
修改现有生命周期管理规则
使用 mc ilm edit 搭配 --id 修改现有对象过期规则:
mc ilm edit ALIAS/PATH --id "RULEID" [FLAGS]
将
PATH替换为该 S3 兼容主机上的存储桶路径。将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。指定任意附加标志以添加或修改生命周期管理规则。 例如,指定
--transition-days以覆盖该规则现有的转移天数值。
禁用生命周期管理规则
使用 mc ilm edit 搭配 --disable 停止使用现有管理规则。
mc ilm edit --id "RULEID" --disable myminio/mybucket
将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。将
myminio替换为规则所在部署的 ALIAS。将
mybucket替换为该规则对应的存储桶。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。