文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

mc ilm rule edit

在版本 RELEASE.2022-12-24T15-21-38Z 中的变更:mc ilm rule edit替换mc ilm edit.

语法

Themc ilm rule editcommand 修改 MinIO 存储桶上现有的对象生命周期管理规则。

以下命令修改现有的生命周期管理规则mydata桶上的myminio部署:

mc ilm rule edit --id "c79ntj94b0t6rukh6lr0" --expiry-days 90  myminio/mydata

mc ilm rule edit --id "c79nu2p4b0t6qko19rgg" --expired-object-delete-marker myminio/mydata

mc ilm rule edit --id "c79n19dn10dnab109fg1" --transition-days 30 --tier "COLDTIER"

该命令按以下方式修改指定规则:

  • 删除超过90天的对象。

  • 删除DeleteMarker如果该对象没有其他剩余版本,则清除墓碑标记。

  • 将超过30天的对象转移到COLDTIER远程层。

该命令具有以下语法:

mc [GLOBALFLAGS] ilm rule edit                                       \
                 --id "string"                                       \
                 [--prefix "string"]                                 \
                 [--enable]                                          \
                 [--disable]                                         \
                 [--expire-all-object-versions]                      \
                 [--expire-days "string"]                            \
                 [--expire-delete-marker]                            \
                 [--transition-days "string"]                        \
                 [--transition-tier "string"]                        \
                 [--noncurrent-expire-days "string"]                 \
                 [--noncurrent-expire-newer "string"]                \
                 [--noncurrent-transition-days "string"]             \
                 [--noncurrent-transition-tier "string"]             \
                 [--tags]                                            \
                 ALIAS
  • Brackets[]表示可选参数。

  • 共享同一行的参数是相互依赖的。

  • 使用竖线分隔的参数|操作符是互斥的。

将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。

参数

ALIAS
必需

The别名以及要修改对象生命周期管理规则的 MinIO 部署中存储桶的完整路径。例如:

mc ilm rule edit myminio/mydata
--id
必需

规则的唯一标识符。使用mc ilm rule ls列出存储桶规则并检索id对于您想要修改的规则。

--disable
可选

停止使用该规则,但保留规则以备将来使用。 当规则被禁用时,对象不会转换或过期。

--enable
可选

使用规则来转换或使对象过期。

--prefix
可选

将管理规则限制到特定的存储桶前缀。

例如:

mc ilm rule edit --prefix "meetingnotes/" myminio/mydata --expire-days "90"

该命令修改了一个使对象过期的规则mydatabucket of themyminioALIAS 在 90 天后适用于任何具有meetingnotes/prefix.

--expire-all-object-versions
可选

版本 mc 中的新功能:RELEASE.2024-02-24T01-33-20Z

使所有当前会话过期对象的非当前版本。 与以下内容一起使用:--expire-days指定对象的所有版本应在扫描程序处理多少天后删除的选项。

之后扫描仪处理此命令后,部署中将不再保留该对象的任何版本。

MinIO 版本新增功能:RELEASE.2024-05-01T01-11-10Z

这个标志适用于不适用于对象有一个删除标记作为最新版本。

--expire-days
可选

对象创建后保留的天数。MinIO 会在指定天数过后将对象标记为删除。

使用此选项时请谨慎,因为其行为可能导致上传的对象立即过期。任何已创建的对象之后指定的到期日期将自动符合到期条件。 同样地,指定一个日历日期之前在当前系统主机日期时间标记规则覆盖的所有对象进行删除。 一旦指定的日历日期过去,请考虑立即移除任何使用此选项的ILM规则。

对于版本化存储桶,过期规则仅适用于当前对象版本。使用--noncurrent-expire-days对非当前对象版本应用过期行为的选项。

MinIO 使用一个扫描器进程检查对象是否符合所有已配置的 生命周期管理规则。由于高IO工作负载或 有限的系统资源导致的慢速扫描可能会延迟生命周期管理规则的应用。参见生命周期管理对象扫描器欲了解更多信息。

与以下选项互斥:

--expire-delete-marker
可选

指定此选项以指示 MinIO 移除没有剩余对象版本的对象的删除标记。具体来说,删除标记是给定对象的剩余“版本”。

此选项与以下选项互斥:

MinIO 使用一个扫描器进程检查对象是否符合所有已配置的 生命周期管理规则。由于高IO工作负载或 有限的系统资源导致的慢速扫描可能会延迟生命周期管理规则的应用。参见生命周期管理对象扫描器对象删除欲了解更多信息。

--noncurrent-expire-days
可选

对象版本成为非当前版本后保留的天数非流动(即该对象的不同版本现在是HEAD). MinIO 在指定天数过后会将非当前对象版本标记为待删除。

此选项的行为与 S3NoncurrentVersionExpiration动作。

MinIO 使用一个扫描器进程检查对象是否符合所有已配置的 生命周期管理规则。由于高IO工作负载或 有限的系统资源导致的慢速扫描可能会延迟生命周期管理规则的应用。参见生命周期管理对象扫描器欲了解更多信息。

--noncurrent-expire-newer
可选

在应用过期策略前要保留的对象非当前版本数量。 超出指定数量的较旧非当前版本将过期。

默认情况下,当过期规则生效时,MinIO 不会保留任何非当前版本。

--noncurrent-transition-days
可选

对象处于非当前状态(即已被同一对象的较新版本替换)的天数,超过该天数后 MinIO 会将此对象版本标记为符合转换条件。MinIO 会将对象转换到指定的远程存储层级。--transition-tier一旦系统主机日期时间 超过该日历日期。

此选项对非版本化存储桶没有影响。需要指定--noncurrent-transition-tier.

此选项的行为与 S3NoncurrentVersionTransition动作。

如果远程层是另一个 MinIO 部署,您可以将值设置为0将新对象标记为立即可过渡到远程层。

MinIO 使用一个扫描器进程检查对象是否符合所有已配置的 生命周期管理规则。由于高IO工作负载或 有限的系统资源导致的慢速扫描可能会延迟生命周期管理规则的应用。参见生命周期管理对象扫描器欲了解更多信息。

--noncurrent-transition-tier
可选

MinIO 的远程存储层转换非当前对象版本指定由以下创建的远程存储层mc ilm tier add.

MinIO 确实自动将对象从先前指定的远程层级迁移到新的远程层级。MinIO 会继续处理存储在旧远程层级上对象的请求。

--tags
可选

一个或多个与符号&描述要应用生命周期配置规则的对象标签的键值对。

此选项与以下选项互斥:

--transition-days
可选

从对象创建之日起的日历天数,超过该天数后 MinIO 会将对象标记为符合转换条件。MinIO 会将对象转换到配置中指定的远程存储层。--transition-tier指定天数为整数,例如3030 天。 如果远程层是另一个 MinIO 部署,您可以将值设置为0将新对象标记为立即可过渡到远程层。

对于版本化存储桶,过渡规则仅适用于当前对象版本。使用--noncurrent-transition-days为非当前对象版本应用过渡行为。

需要指定--transition-tier.

MinIO 使用一个扫描器进程检查对象是否符合所有已配置的 生命周期管理规则。由于高IO工作负载或 有限的系统资源导致的慢速扫描可能会延迟生命周期管理规则的应用。参见生命周期管理对象扫描器欲了解更多信息。

--transition-tier
可选

MinIO 的远程存储层过渡对象指定一个由远程存储层创建的mc ilm tier add.

如果指定则必需--transition-days.

MinIO 确实自动将对象从先前指定的远程层级迁移到新的远程层级。MinIO 会继续处理存储在旧远程层级上对象的请求。

全局标志

此命令支持任何全局标志.

示例

修改现有的生命周期管理规则

使用mc ilm rule editwith--id修改现有对象过期规则:

mc ilm rule edit ALIAS/PATH --id "RULEID" [FLAGS]
  • 替换ALIAS随着aliasS3兼容主机的

  • 替换PATH使用指向 S3 兼容主机上存储桶的路径。

  • 替换RULEID使用对象生命周期管理规则的唯一ID。mc ilm rule ls要找到RULEID.

  • 指定要添加或修改生命周期管理规则的其他标志。例如,指定--transition-days覆盖规则的现有过渡天数值。

禁用生命周期管理规则

使用mc ilm rule editwith--disable停止使用现有的管理规则。

mc ilm rule edit --id "RULEID" --disable myminio/mybucket
  • 替换RULEID使用对象生命周期管理规则的唯一ID。mc ilm rule ls要找到RULEID.

  • 替换myminio使用存在规则的部署的 ALIAS。

  • 替换mybucket与规则的存储桶。

所需权限

要编辑规则所需的权限,请参阅所需权限在父命令上。

行为

S3 Compatibility

Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。

MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。